2012-03-14 86 views
5

Sandofsky advocates對您的'主要'回購的歷史非常嚴格,保持清潔而不會使用分支和檢查點提交混亂。多開發商Git工作流程,保持清潔歷史

您不應該將私人分支直接合併到使用vanilla合併的公共分支中。首先,使用重置,重新綁定,壓縮合並和提交修改等工具清理分支。

將公共歷史視爲不可變的,原子的,並且容易遵循。將私人歷史視爲一次性和可塑性。

這吸引了我,我正計劃實施工作流程,我的同事們都有自己的遠程存儲庫推送到,並做時,他們已經在分支上完成的工作和清理拉請求提交歷史。隨後,我(「整合經理」)將這些完整的提交合併到通用開發分支中。

我想這種方法意味着祝福的回購將不會有除the master and develop branch以外的任何分支。功能分支將只存在於您的本地存儲庫中 - 如果需要在分支上進行協作,可以通過將分支推送到其中一位協作員工的遠程存儲庫來實現。

但是,Pro Git book將此描述爲「public small projects」的工作流程。這是否意味着在我們的案例中使用不同的工作流程會更好?比如將完成的分支推送到受祝福的回購站而不是個人存儲庫?

要清楚:我不是要增加不必要的複雜性或開銷。我的目標是建立一個工作流程,讓我和我的同事可以異步工作,當工作完成時我可以檢查他們的工作,並在評論中反饋回來,或者如果一切順利的話將它合併到代碼庫中。


編輯:Apparantly問的問題並不清楚,所以我會試着總結一下吧:

會不會有一個缺點,有同事直接把他們的分支機構,以我們的祝福庫(例如它會以某種方式「污染」它的歷史)?

+0

你能不能改一下你的問題一點?這太精細了。定義「更好」的工作流程。這總是一種折衷。 – ralphtheninja 2012-03-14 11:49:14

+0

@MagnusSkog done – Rijk 2012-03-14 12:08:05

回答

0

一對夫婦disadvatages的:

有福回購將相當快(這取決於有多少開發商和功能)與許多分支機構混亂。如果它只包含例如掌握和開發,比主,開發,功能A,功能B,功能C ..等等。但你可以隨時清除回購在遠程(git push origin:featureA)刪除它們,但它增加了額外的清理工作。

此外,當人們從祝福回購中取回時,他們的回購將包含對所有這些分支的遠程引用,並且當您移除遠程分支時,他們將不得不「離開遠程修剪起源」並清理引用不再有效,這也增加了額外的工作。

+0

謝謝,這清除了它。 :)因此,要扭轉這個問題:我最初描述的設置(每個開發自己的遠程存儲庫)的缺點是什麼?不知何故,我有一種感覺,這可能會導致問題,因爲我們正在推動不同的目標。這會不會讓他們更加煩瑣地與主要開發線保持同步呢? – Rijk 2012-03-14 12:27:57

+0

更多冗餘:) – ralphtheninja 2012-03-14 12:30:52

+0

有沒有我失蹤的黃金解決方案? – Rijk 2012-03-14 12:33:49

0

我沒有看到爲什麼這個工作流程不適合你:公共項目的重點可能是因爲對於一個公共項目來說,保持一個乾淨的,不變的歷史更重要。

+0

但是,如果將特性分支包含在祝福的回購中,對開發分支的歷史有任何負面影響(只要它們在合併前被清除)? – Rijk 2012-03-14 12:46:19