簡體   English   中英

Git:是否將master合並到master上的功能分支和REBASING功能分支上?

[英]Git: Are MERGING master into feature branch and REBASING feature branch on master equivalent?

是否merging 掌握到一個特性分支rebasing 功能分支具有相同的最終結果在所有可能的情況,還是應該傾向於在一個特定的背景下一個或其他,為什么? 我知道合並會產生更多的提交,以更好地理解歷史,但是我對操作的實際結果以及成功的可能性更感興趣。 因此,是否存在實際差異?或者我可以根據慣例選擇哪種方法(甚至可以同時使用兩者)?

另外,我應該多久將feature branchmaster同步一次? 每次返回以開發特定功能時都進行merge/rebase重新設置是一種好習慣,還是應該使該功能與架構的其余部分保持盡可能長的隔離?

當多個功能彼此高度依賴時,如何適應情況? 應該將功能開發為單個功能分支,還是作為合並到公共功能分支的獨特功能分支開發? 可以說,在Spring framework ,許多配置和層是相互依賴的。 什么是使所有流程保持完整和同步的通用工作流程?

合並和重新定標都以非常不同的方式解決了相同的問題。 與重新設置不同,合並是無損的。 但是,只要您遵循“重新定購的黃金法則”,一切都會很好,並且您可以享受整潔的提交歷史。 規則是“不要在公共分支機構使用基礎調整”。

另外,我應該多久將功能分支與master同步一次?

這主要是一個品味問題。 Pro Git中所述 ,可以選擇不同的分支工作流程。

在所有情況下,重定基址和合並都不相等,因為當您基於master進行基礎調整時,實際上是在master之上進行新的提交,這將具有不同的id和內容。 這就是為什么不重新設置公共分支機構的基礎很重要的原因。 但是,重新定基可以為您提供清晰的歷史記錄。

至於問題的分支部分:看來您正在尋找的是分支模型。 最受歡迎的分支模型之一是使用合並模型的git flow。

http://nvie.com/posts/a-successful-git-branching-model/

git flow模型的本質是使用master,release,develop和feature分支(以及其他)來組織代碼所處的狀態。使用此模型,應該很容易分辨何時合並,因為它將處於某些階段,例如:功能已完成,或者您將要發布下一個版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM