推荐git rebase还是git merge?如何将master变更同步到branch A
把Master分支的变更同步到Branch A的两种方法
方法一:将Master合并到Branch A
- 操作步骤:
- 切换到Branch A:
git checkout branchA - 拉取最新的Master分支:
git fetch origin master - 合并Master到当前分支:
git merge origin/master
- 切换到Branch A:
- 效果:Branch A上会新增一个合并提交,完整保留Master的更新记录和你在A上的所有工作历史,能清晰看到分支间的合并节点。
- 适用场景:如果Branch A是多人协作分支,或者你需要完整追溯分支演变过程,merge更稳妥——它不会改写已有提交历史,不会给其他协作者造成困扰。
方法二:基于Master重写Branch A的提交
- 操作步骤:
- 切换到Branch A:
git checkout branchA - 拉取最新的Master分支:
git fetch origin master - 执行变基操作:
git rebase origin/master
- 切换到Branch A:
- 效果:Git会把你在Branch A上的所有提交,依次“移植”到最新的Master提交之后,让你的工作看起来像是基于最新Master从头开发的,提交历史会变得线性、整洁。如果变基时遇到冲突,需要逐个提交解决冲突,之后用
git rebase --continue继续,或者用git rebase --abort放弃整个变基操作。 - 适用场景:如果Branch A是你个人专属开发分支,没有其他人在上面工作,rebase能让提交历史更清爽,后续把Branch A合并回Master时也更顺畅。
核心结论
两种方法都能实现「把Master的变更同步到Branch A」的目标,选哪个取决于你对提交历史的需求:
- 要保留分支合并的完整脉络,用merge
- 想要干净的线性提交记录,且分支仅你个人使用,用rebase
内容的提问来源于stack exchange,提问作者nick
相关产品推荐
相关产品推荐

