如果您有您分叉關老爺的再發展的功能在它...當它涉及到合併回主人,我聽到兩種不同的方法的一個分支:合併的Git分支到主
- 首先將主合併到特徵分支中,然後將分支合併回主。
- 將你的分支合併爲主。
任何人都可以告訴我哪種方法更好,如果對第一種方法有實際好處?
或者如果有更好的方法?
如果您有您分叉關老爺的再發展的功能在它...當它涉及到合併回主人,我聽到兩種不同的方法的一個分支:合併的Git分支到主
任何人都可以告訴我哪種方法更好,如果對第一種方法有實際好處?
或者如果有更好的方法?
比方說,您從主功能西弗,同時,我創建功能埃裏克。我的分支修改了與您的文件相同的文件;實際上,它恰好以我們的git客戶端不夠聰明的方式重疊。我首先完成開發併合並我的更改。
在這種情況下,您將不可避免地被提示解決衝突。
CONFLICT (content): Merge conflict in stackoverflow.html
Automatic merge failed; fix conflicts and then commit the result.
如果你有去(1),合併到主分支,並確保一切看起來不錯,你就會解決經由合併的衝突功能西弗提交。如果您在解決過程中犯了錯誤,您可以將它們回滾,而無需對主人進行任何直接修改。這很好。
如果與(2)一起使用,您將通過直接向主服務器進行的合併提交來解決衝突。如果你犯了什麼錯誤,你會打破主人。這不好。
我想這取決於;-)
有些事情要考慮:
master
合併到master
可能會很有用。如果不是,如果您要刪除它,合併到功能分支沒有太大的意義。master
分支的本地工作副本嗎?如果不是,則應避免將代碼合併到master
中,這可能會導致需要手動解決的大量衝突。如果沒關係,繼續。一般來說,我認爲這取決於你如何使用git。
由於我通常只是暫時使用功能分支,並在成功完成功能並將它們合併到master
後刪除它們,所以我通常會直接合併到master
中,然後刪除其他分支。
另一方面,我可以想象有可能是可能有用的情況下做相反的事情。但只要沒有強烈的理由,我會盡量避免它。一個合併就足夠了;-)。
理論上,沒有區別。您在一個分支中有一組更改,您將與另一個分支中的一組更改相結合。這些變化最終在何處並不重要。
實際上,最好將更改合併到功能分支中,因爲它爲您提供瞭解決衝突的獨立位置。如果功能分支長時間處於開發階段,這一點尤其重要,因爲在第一次提交之後會經常發生微妙的衝突。
最好的方法是定期更新從主人到功能分支,減少在功能開發結束時發生衝突的可能性。