我已经这样创建了一个分支:
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]
MyBranch
在origin/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