我想将我的本地分支从一个远程分支移动到另一个远程分支。我的local_branch基于remotes / kernel / 132,我将它移动到remotes / kernel / 142。这是我的分支列表:
git branch -a
* local_branch
remotes/kernel/132
remotes/kernel/142
我已经更改了部分代码,并已提交。但是,我不想将local_branch推送到remotes / kernel / 132,但是我想将它移动到remotes / kernel / 142并将其推送到这个远程分支。 配置文件显示:
[branch "local_branch"]
remote = kernel
merge = refs/heads/132
我想将其更改为:
[branch "local_branch"]
remote = kernel
merge = refs/heads/142
答案 0 :(得分:1)
"移动"提交称为rebase
。这并没有真正移动提交,但是它在新基础上创建了新的提交,它们应用与应用于旧基础的旧提交相同的更改。引用确实移动(从旧提交到新提交);既然你没有推动这些提交(并且可能没有其他参考资料可以达到它们),那么它就是一个教科书实例,其中的变形应该非常干净。
git rebase --onto kernel/142 kernel/132 local_branch
新提交代表未经测试的代码状态,因此此时需要进行一些测试。
您可以使用git config
git config branch.local_branch.merge refs/heads/142