合并分支
您可以使用 git merge 指令来将多个分支集成。
考虑下面的情况。有两个分支:一个bugfix
分支,其中有一些来自main
分支的提交。

在这种情况下,将“bugfix“合并回“主要“分支并不是什么大问题。那是因为自从创建“bugfix”分支以来,“主要“分支没有改变。Git 将通过将“主要“分支位置移动到“bugfix“分支的最新位置来合并它。这种合并称为“快进“。

然而,在下面的示例中,自从bugfix
分支出来后,main
分支已经更新了几次。在这两个分支上执行合并时,必须组合来自bugfix
和main
分支的更改。

对于这种合并,创建一个“合并提交“并将“主要“位置更新为新创建的合并提交。

即使快进合并是可能的,您仍然可以明确地强制它在没有快进合并的情况下进行合并。

如上所示,非快进合并保留了bugfix
分支。这让您更清楚地了解功能分支bugfix
。您可以轻松找到功能分支的开始或结束位置,并跟踪对功能分支所做的更改。