Git从基础分支而非master更新分支的方法
同步branch1最新内容到branch2的可行方案
方法一:Git Merge(保留完整分支历史)
这是最直观的方式,会生成一个合并提交,保留branch1和branch2各自的提交历史:
- 切换到目标分支branch2:
git checkout branch2 - 合并本地branch1的最新内容:
git merge branch1 - 若出现冲突,直接打开冲突文件手动修改冲突代码,完成后执行:
git add <已解决冲突的文件名>git commit(Git会自动生成合并提交的默认说明,直接保存即可)
方法二:Git Rebase(生成线性提交历史)
如果希望提交历史更整洁线性,可以用rebase将branch2的提交基于branch1的最新版本重放:
- 切换到branch2:
git checkout branch2 - 执行重基操作:
git rebase branch1 - 遇到冲突时,先手动解决冲突,再执行:
git add <已解决冲突的文件名>git rebase --continue- 若中途想放弃重基,执行:
git rebase --abort
为什么你之前的git pull无效?
git pull默认拉取的是当前分支关联的远程跟踪分支内容,而非本地的branch1。如果想用pull实现同步,需明确指定来源:git pull . branch1,但这种方式和merge效果一致,merge操作更直观易懂。
内容的提问来源于stack exchange,提问作者Sandor Hadas
相关产品推荐
相关产品推荐

