更改git分支的起源



我已经这样创建了一个分支:

git branch MyBranch origin/test

test与master分支平行。现在test被合并到master

如何改变MyBranch的原点,使其指向master

没有分支的"起源"。"分支"只是一个指向特定提交的标签。

如果你没有提交到MyBranch,那么你可以删除并重新创建它。

git branch -d MyBranch
git branch MyBranch master

如果你已经完成了MyBranch的工作,那么事情就有点复杂了。你的情况是这样的……

- A - B - C - D [master]
       
        E - F [origin/test]
             
              G - H [MyBranch]

MyBranchorigin/test之上有G和H。如果你想将MyBranch移动到master之上,那么你需要保留G和h中的工作,这可以通过rebase来完成。

git rebase --onto master origin/test MyBranch

这表示将MyBranch中而不是origin/test(即G和H)中的更改放在master之上。你会得到…

                G1 - H1 [MyBranch]
               /
- A - B - C - D [master]
       
        E - F [origin/test]
             
              G - H

最新更新