我正在開發一個項目,我們正試圖以最有效的方式使用git(對於我們),並決定爲2個子小組創建2個分支在主分支旁邊工作。git工作流與3個分支的建議
有時我們會承諾,如果它是通用的應該進入兩個分支,然後我們希望在其他分支的變化。
這應該是合併還是重新分配到其他兩個分支?
這是一個瘋狂的工作流程是走下去的路線嗎?如果是這樣,建議請!
我正在開發一個項目,我們正試圖以最有效的方式使用git(對於我們),並決定爲2個子小組創建2個分支在主分支旁邊工作。git工作流與3個分支的建議
有時我們會承諾,如果它是通用的應該進入兩個分支,然後我們希望在其他分支的變化。
這應該是合併還是重新分配到其他兩個分支?
這是一個瘋狂的工作流程是走下去的路線嗎?如果是這樣,建議請!
我沒有看到爲兩個團隊創建兩個分支的觀點。工作應根據其性質分開,而不是由誰來完成。
這是我建議:
這是(基本上)我們如何在一個非常大的項目上工作。如果你的項目不大,你可以在沒有dev分支的情況下工作。
看看這篇着名的文章,顯示了一個相當不錯的工作流程:A successful Git branching model。
這取決於這些是否是共享一些常見的東西的2個獨立的項目;如果是這樣的話,建立一個單獨的庫並使用子模塊 - 而不是將所有東西都塞進一個回購站。
否則,我會建議反對描述的方法。這可能會導致這兩個分支之間的差異太大,合併它們可能變得幾乎不可能。由於git
是一個分佈式系統,使所有的主要發展的主人,每個功能實現和經常合併按需創建分支。使用標記來標記重要的開發里程碑。
這不是2個獨立的項目。當這兩個分支最終合併成主人時,這就是我擔心的事情。但是如果你想讓主人成爲一個穩定的分支,而另外兩個人正在實現特定的大型新部分呢? – mattjgalloway
'master'是開發部門;這是所有新的時髦的東西(穩定!)上架。當你想要穩定時 - 然後你爲此創建分支(並在之前標記分流點)。爲什麼?因爲穩定意味着沒有新功能 - 只是修復。而這些分支通常不會偏離分支點。 Off master在開發過程中創建每個功能分支,並在返回主設備時合併它們。 –
逆向:
2)不,它不是一個瘋狂的工作流程。您的小組成員可能擁有自己的存儲庫和分支機構。當該小組具有穩定的產品時,他們將其推送到主存儲庫中的分支。然後,集成線索將採取主存儲庫中子分支的分支上的內容,並在適當的情況下合併/重新分配爲主分支(如您所說的要共享的內容)。
1)因此,假設在Tag-M1中,子組A和B都從主控制器分出,並且該子組A的工作現在回到了主控制器M2上。同時小組B已經移動到標籤-B2。你應該重新設置還是合併到分支-B上。我想你想避免重新啓用Tag-M2的分支B.你的子團隊B成員正在從分支B拉;當你重新綁定時,你將會改變分支B的歷史,這會使分組B的複雜化。
請注意,從主存儲庫更新時,您的小組可能更喜歡'git pull --rebase'。
對不起,分支機構確實是功能分支。它恰巧每個都映射到一個子團隊。你的工作流程聽起來很有趣,而且我看過那篇博文。感謝您的建議 :-)。 – mattjgalloway