如何在没有'还原的情况下删除主人的提交。或者' rebase'命令?

时间:2016-11-14 22:48:48

标签: git git-commit

我有分支。我想从两周前的提交中删除提交,直到分支为止。

我无法使用git revert,因为该分支中已存在已恢复并且会导致问题。我正在寻找一个解决方案,将 HEAD 指向先前的提交,或者分支中的 SHA1 ,并设置 SHA1 作为主人。

1 个答案:

答案 0 :(得分:2)

  

我正在寻找一个解决方案,将HEAD指向先前的提交,并说这是主人。

这是reset当前分支为master时的作用:

git reset SHA1

这将重置当前分支,使其指向指定的SHA1(commit,branch,tag,tree-ish)。请注意,您的工作树不会更改,因此如果它与SHA1的内容不同,则git diff将显示已更改和/或未版本控制的文件。如果您希望工作树与SHA1的内容匹配,请使用--hard标志。

请注意,如果您想将此更改的分支推送到之前已经推送过的远程,则需要将-f标记与git push一起使用,因为历史记录已被重写。 在重写公共分支的历史时,请记住常见的问题。