2015-10-13 34 views
4

我有一個回購,有開發分支。兩位開發人員在他們的分支機構工作,b1和b2都來自開發部門。無論是工作還是完成後,都要不斷改變原點。然後這些分支在原點合併爲開發(Bit-Bucket)。是否重要?

我想問一下,在每次合併之後,如何重建他們的分支與開發?還是繼續跟着越來越多的提交和推動,直到完成該功能?這裏應該是什麼正確的策略?

+0

Rebase通常更好,更清潔,但是否系統地使用它取決於上下文,它是*意見* –

+0

這個鏈接可以幫助您瞭解行業標準我猜https://www.atlassian.com/git/tutorials/comparison-workflows/feature-branch-workflow –

回答

2

沒有「正確的」策略。

每次開發分支有新提交時,他們都可以將他們的b1/b2分支重新綁定到開發分支上。這有兩個好處:

  1. 立即以小塊解決合併衝突。
  2. 開發人員確信他的代碼可以在開發他的功能的時候處理任何推送到遠程的代碼。

或者,他們可以分支開發分支,在b1/b2上實現他們的特性,並且在完成特徵之前不進行重新分配。這有一個優勢:

  1. 沒有合併衝突等問題,而他們正在研究他們的功能,讓他們更專注於他們的任務。

但是這也有缺點2

  1. 他們需要在年底時,他們的特點是做衍合。在此期間,他們不知道向開發分支提交了多少次提交,這可能使這是一項艱鉅的任務 - 承諾的承諾越多,潛在的合併衝突越多,越容易混淆,工作就越多。

  2. 在此期間合併到開發分支中的代碼有可能會破壞它們依賴於其功能的代碼。

這真的取決於你/他們想如何工作。他們是否希望他們的工作流程不被打擾? - 最後一次重新綁定。他們是否想要保證他們的代碼能夠與在此期間推送的任何內容一起工作? - >經常變硬。

+0

它也必須取決於項目的大小和細節。如果這個項目非常龐大並且動態變化,那麼你最好更頻繁地重組,因爲正如蒂姆所說 - 在工作2個月後,你很可能會花一個星期的時間尋找有關如何正確變基的信息,以及應該/不應該保留。另一方面 - 如果有兩名開發人員在項目的不同部分工作 - 沒有理由任何時候重新設計,特別是如果您可以直接溝通和計劃/協調您的工作。 – Zloj

0

我認爲你的工作流程是有問題的。

這是一些有效的工作流程:
1.開發者開始在功能F1工作
2.開發從開發分支創建分支F1。
3.開發人員對分支f1進行更改。
4.當開發者完成的功能F1則:
- 開發商合併支F1進入開發分支
- 開發者刪除分支F2

另一種情況,當基礎重建的recomended是:
1.開發人員A開始工作的功能F1
2。開發人員A從開發分支創建分支f1。
3.開發人員A更改分支f1。
4.開發者B更改開發分支,並有進入分支F1
5.要想從開發分支變成F1開發商衍合分支F1與發展分支
6.開發一個使更多的變化這種變化是非常重要的分支f1。
7.當開發商完成的功能F1則:
- 開發商合併支F1進入開發分支
- 開發者刪除分支F2

所以在合併時,功能完成的功能爲一般父分支完成。之後,該分支最好在開始開發下一個功能時刪除並創建新分支。在這種情況下進行重新設計有利於在開發尚未完成的情況下從母公司獲得變更。