我有一个跟踪远程分支的本地主题分支。为了论证,请提交历史记录如下:
A--B--C--O1--O2--O3 (origin/phobos)
\
L1--L2--L3 (phobos)
查看了相关的提交历史记录后,我现在想要放弃对本地phobos
分支的所有更改,并将其恢复为origin/phobos
的直接副本,以便本地历史记录看起来如此像这样:
A--B--C--O1--O2--O3 (phobos origin/phobos)
我真的不希望对phobos
分支进行本地更改,我真的不希望之后在源存储库中显示任何合并。 (所以,合并并不是我想到的。)
这看起来应该很容易,但是我的google-fu让我失望了。我该怎么做?
答案 0 :(得分:282)
git checkout phobos
git reset --hard origin/phobos
这告诉Git将phobos
的头重置为与origin/phobos
相同的提交,并更新工作树以匹配。
答案 1 :(得分:71)
删除分支,然后重新创建它:
$ git branch -D phobos
$ git checkout --track -b phobos origin/phobos