2026-10-20 19:13:55
merge 是 Git 中用于合并不同分支代码的命令。其基本原理是将一个分支的更改引入到另一个分支中,从而形成一个统一的代码库。
应用场景:
假设我们从 master 分支分出一个 dev 分支进行开发。期间,master 分支有了 m1, m2, m3 的提交记录,而 dev 分支则有 d1, d2 的提交记录。现在,我们需要将这两个分支的代码合并。
操作步骤:
这条命令会将 dev 分支的更改合并到 master 分支中。如果在合并过程中遇到冲突,Git 会提示你解决冲突,并在解决后提交一次合并代码记录。
合并结果:
合并后的 master 分支将包含 m1, m2, m3, d1, d2 的提交记录(假设没有冲突)。这些提交记录会按照时间顺序排列。
图示:

rebase 是 Git 中另一个用于整合来自不同分支更改的命令,但与 merge 不同的是,rebase 会通过创建一个新的提交序列来整合更改,而不是合并它们。
应用场景:
合并记录:
当开发者处理完一个 Issue 并发出合并请求后,如果在 CodeReview 过程中发现有不合适的代码或需要修改的小 Bug,修改后会出现一个新的提交记录。这时,可以使用 rebase 来整合这些提交记录,使它们看起来更加整洁。
操作步骤:
切换到需要整合的分支:git checkout <branch-name>
执行 rebase 操作:git rebase -i HEAD~n(其中 n 是要整合的提交记录数量)
在交互界面中,你可以选择将某些提交记录合并(squash)或重新排序等。
调整顺序:
当使用 merge 合并分支时,提交记录会按照时间顺序排列。但在某些情况下,我们可能希望调整这些提交记录的顺序。这时,可以使用 rebase 来实现。
操作步骤:
切换到需要调整的分支:git checkout <branch-name>
执行 rebase 操作:git rebase <base-branch>(其中 <base-branch> 是你想要基于的分支)
这样,当前分支的提交记录就会被重新应用到 <base-branch> 的最新提交之上。
注意事项:
图示:


在实际工作中,我们通常会以工单(Issue)为单位进行开发。以下是一个简单的分支管理策略:
在开发过程中,如果遇到需要合并其他分支的情况,可以根据实际情况选择使用 merge 或 rebase 命令。如果遇到冲突,可以按照前面提到的步骤进行解决。
总的来说,merge 和 rebase 都是 Git 中非常强大的命令,它们可以帮助我们更好地管理分支和整合更改。在实际使用中,我们应该根据具体情况选择合适的命令,并遵循良好的分支管理策略来确保代码的质量和可维护性。