Git操作求助:如何将本地分支abc的改动迁移至本地分支xyz?
Git分支代码迁移解决方案
2. 迁移前是否需要先在abc分支上commit代码?
肯定要先提交。未提交的改动属于工作区或暂存区的临时内容,切换分支时如果遇到文件冲突,Git会直接阻止你切换;就算没冲突,后续操作也很容易导致这些改动被覆盖或丢失。先在abc分支把所有改动commit是最稳妥的做法,Git会把提交记录永久保存,哪怕后续操作出问题也能找回代码,完全不用担心丢失。
1. 具体操作步骤
分两种常见场景处理:
场景1:xyz分支已经存在(原本就有这个分支,只是误在abc上开发)
- 切换到abc分支,提交所有未提交的改动:
git checkout abc git add . git commit -m "提交abc分支上的开发内容" - 切换到目标分支xyz:
git checkout xyz - 将abc分支的提交合并到xyz分支:
git merge abc- 如果合并时出现冲突,打开冲突文件手动修改冲突部分,修改完成后执行
git add 冲突文件名,再git commit完成合并。
- 如果合并时出现冲突,打开冲突文件手动修改冲突部分,修改完成后执行
- (可选)如果abc分支后续不再使用,可以删除:
git branch -d abc
场景2:xyz分支还未创建(原本计划新建xyz但没建,直接在abc上开发了)
- 切换到abc分支,提交所有未提交的改动:
git checkout abc git add . git commit -m "提交开发内容" - 基于abc分支直接创建并切换到xyz分支:
这一步会直接把abc分支的所有代码和提交记录复制到新的xyz分支,完成迁移。git checkout -b xyz - (可选)如果abc分支没用了,删除它:
git branch -d abc
内容的提问来源于stack exchange,提问作者Akash
相关产品推荐
相关产品推荐

