Git:放弃分散的本地分支上的所有更改
我有一个跟踪远程分支的本地主题分支。 为了争论,说提交历史是这样的:
A--B--C--O1--O2--O3 (origin/phobos) \ L1--L2--L3 (phobos)
看过相关的提交历史后,我现在想要放弃对当地phobos
分支的所有更改,并将其恢复为origin/phobos
的直接副本,以便本地历史logging如下所示:
A--B--C--O1--O2--O3 (phobos origin/phobos)
我真的不希望对phobos
分支进行本地更改,而且我实际上不希望任何合并在之后出现在源存储库中。 (所以,合并不是我想到的。)
这似乎应该很容易,但我的谷歌福已经失败了我。 我该怎么做呢?
删除分支,然后重新创build它:
$ git branch -D phobos $ git checkout --track -b phobos origin/phobos
git checkout phobos git reset --hard origin/phobos
这会告诉Git将phobos
的头重置为与origin/phobos
相同的提交,并更新工作树以匹配。