git merge 和 git rebase 都可以进行分支的合并。
-
git merge
现在我们有两个分支,bugFix和main,它们都是从c1打出来的,并在c1上做了不同的改动c2,c3,接下来我们将bugFix合并到main,首先切换到main分支,然后
git merge bugFix。合并后,main分支包含bugFix上的改动c2和原本的改动c3。
![]()
现在bugFix上只有c2的改动,而main有c2,c3的改动,在执行上述步骤后,如果再将目前main分支合并到bugFix分支上需要执行git checkout bugFix,git merge main。合并后,bugFix和main上的改动都将一样。
![]()
-
git rebase
还是分支bugFix和main,目前在bugFix分支上,我们想将bugFix上的工作转移到main上,只需执行git rebase main即可。这样看起来有个比较好看的线性commit。
![]()
注意,此时main分支并没有改动,如何使main分支也包含bugFix分支上之前的改动呢?首先切换到main分支,git checkout main, 然后git rebase bugFix。
![]()




浙公网安备 33010602011771号