2016-03-03 47 views
0

我完成了一個本地branch1工作,並將其合併爲master
現在,我想在我的應用程序另一個特點工作,所以我將創建第二個本地branch2,完成添加功能和合並也branch2掌握。只要我需要使用功能來實現我的應用程序,並且直到我的應用程序完成,這可以繼續。
現在假設在所有這些實現之後,我想對作爲branch1的作業的主題做一些改進或改變,比如靜態頁面about,helpcontact
是否可以檢出並重新使用branch1進行這些更改或該分支不能再使用,而應該刪除?
一段時間後,有可能是我最初可能想保留這些目的老話題枝相當堆積。但是,這些舊分支都已過時,不再像主分支創建時那樣完整地複製主分支:這是成功完成merge的先決條件嗎?舊分支可以被淹沒嗎?

回答

1

您可以使用這些老枝,但是......你應該從合併掌握新的變化之前,(這樣你就可以在今後避免大的合併問題)。當你需要轉生老枝做:

git checkout very-old-branch 
git pull ./ master 
# do some changes into very-old-branch 
git add . 
git commit -m 'changes in the very old branch' 
# need to merge very old branch with new changes into master again 
git checkout master 
git pull ./ very-old-branch 
git push origin master 

但是這將是最好不要是方士和公正創造新的分支,並在做出改變吧:)

2

分支/合併策略是你的決定,但你似乎描述了一個基於功能的工作流程。

在這種情況下,你已經合併了您的特性分支branch1後掌握,這功能的內容/史載的master由於合併分支英寸branch1隨着時間變得無用甚至過時,因此您可以安全地將其刪除,以便舊功能分支不會累積到您的存儲庫中。

如果你再看看你要添加到由branch1推出了功能的改進,你可以看到這些改進爲新的功能,因此從master創建一個新的特性分支來執行這些改進。

你應該如何安排你的工作流程是相當主觀的,最好的策略往往取決於項目是如何在組織方面的貢獻者,以及如何將更改部署。

1

你應該採取gitflow看看。

它做這類發展作爲你問

完整的工作流程是這樣的一個非常著名的工作流。在你的情況下,你指的是功能分支(紫色的)。

相關的文章是在這裏:
http://nvie.com/posts/a-successful-git-branching-model/

正如你可以看到你繼續開發新的特性所有的時間,一旦你與他們做你只需將它們合併回dev(在你的情況可能是主)

enter image description here