Git - 将本地分支移动到不同的远程分支

时间:2017-12-12 17:44:29

标签: git git-branch

我想将我的本地分支从一个远程分支移动到另一个远程分支。我的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

1 个答案:

答案 0 :(得分:1)

"移动"提交称为rebase。这并没有真正移动提交,但是它在新基础上创建了新的提交,它们应用与应用于旧基础的旧提交相同的更改。引用确实移动(从旧提交到新提交);既然你没有推动这些提交(并且可能没有其他参考资料可以达到它们),那么它就是一个教科书实例,其中的变形应该非常干净。

git rebase --onto kernel/142 kernel/132 local_branch

新提交代表未经测试的代码状态,因此此时需要进行一些测试。

您可以使用git config

处理问题的其他部分
git config branch.local_branch.merge refs/heads/142