簡體   English   中英

合並后,合並分支的提交會成為主分支的一部分嗎?

[英]Do commits of a merged branch become part of master branch after merge?

假設我有一個A->B->Cmaster )分支和A->B->D->E->Fdevelop )分支。

develop合並為master后,將創建一個新的合並提交,例如G ,因此master現在看起來像A->B->C->G (master)。 G是一個合並提交,有兩個父級, C (主級)和F (開發級)。

在合並操作之后,是否所有對開發的臨時提交(即D->E->F )現在都是master一部分?

我認為是因為可以從合並的提交G到達DEF ,合並的提交G肯定是master一部分,但是我不確定。 有人可以確認或澄清嗎?

我想知道在合並操作之后,是否在開發中所有臨時提交(即D->E->F現在在概念上都成為master一部分?

恕我直言,是的,因為可以從合並提交G (肯定是master一部分)到達DEF

完全正確。

您可以通過要求Git列出包含給定提交的分支來驗證這一點,例如

git branch --contains D

是的,這是打算使用Git的一種方式。

請注意,如果需要,您可以使用單個合並的提交(不同的提交)有效地替換 develop的三個提交。 您可以只在master上進行合並的提交,然后完全放棄分支develop這樣沒人可以使用原始的三個提交。 git merge --squash命令,可以分兩步實現這一目標:做南瓜合並(這是不是一個真正的合並),然后刪除develop分支。 請注意,其他任何嘗試使用develop人都必須適應這一點:他們可能也必須刪除自己的develop分支。

或者,你可以git reset走三個提交的develop ,有利於新組合的承諾你做出和地點的倒帶尖端develop 然后,您可以根據需要正常合並。 git rebase -i (交互式rebase)命令對於此特定工作流程很有用。 請再次注意,其他任何嘗試使用develop人都必須適應這種情況:如果他們已經在要用合並的單個commit替換的原始三個commit上構建了commit,那么他們將需要自己進行基礎調整。

還有許多其他選擇。 每種都有各種優點和缺點; Git讓您做最喜歡的事情。 但是您在問題中概述的一個是Git最簡單,最容易的一種,它通常是一個不錯的選擇。

暫無
暫無

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

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