Git中如何创建含A分支提交、剔除B分支并加入C分支提交的分支?
解决方法:用
git rebase --onto实现提交迁移 你的需求本质是把feature分支中仅属于你开发的提交(即剔除local分支里的调试提交),重新放到origin/master的顶端,完全可以用git rebase --onto精准实现,这正是这个命令的典型应用场景。
具体操作步骤:
- 切换到目标分支
feature:git checkout feature - 执行rebase迁移命令:
这个命令的含义是:将git rebase --onto origin/master localfeature分支中,所有在local分支之后的提交(也就是你在feature上开发的有效提交),重新应用到origin/master的最新提交之上。
后续处理:
- 如果迁移过程中出现冲突,解决完冲突文件后执行:
git add <冲突文件> git rebase --continue - 如果中途想放弃本次操作,执行:
git rebase --abort
验证结果:
执行完后用日志命令确认提交历史:
git log --oneline --graph
你会看到feature的基底已经变成origin/master,且local分支里的调试提交已被完全剔除,只保留了你在feature上的开发提交。
内容的提问来源于stack exchange,提问作者LoneCodeRanger
相关产品推荐
相关产品推荐

