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相同的提交,并更新工作树以匹配。