如何回滚仓库的提交和文件更改,以便它们不会显示在拉取请求中?

  • 本文关键字:显示 请求 何回滚 提交 文件 git github
  • 更新时间 :
  • 英文 :


所以我开始使用 Git,我觉得我做错了什么。

我正在尝试回滚到我的叉子上的某个提交,将所有提交历史记录及其更改删除回该点。我已经尝试了我能在这里找到的所有建议,但它并没有产生任何影响。我需要向项目发出拉取请求,但它包括我所做的所有提交,以及大量的合并提交。其他拉动它的人都没有我自己的那么多提交,所以我相信我做错了什么。

我想还原的唯一真正原因是因为我所做的 WIP 提交我不想包含在请求中,所以我想在此之前开始清理。

提前谢谢。

使用git reset --hard尽可能多地返回,然后提交,最后向上推送新版本。(推送以覆盖远程分支时需要使用 --force 标志。

但是,尽量不要养成这样做的习惯,因为如果有人真的用你推起来的分支做了什么,覆盖它会让他们有自己的问题需要解决。

git reset --hard <commit_id>将努力做你想做的事情。 如果您没有 shell 访问权限(即它是一个 github 存储库或类似的东西),您可以在客户端盒上执行相同的操作,然后git push -f强制推送。 通常,如果目标的当前 HEAD 不是新 HEAD 的祖先,则推送将失败。

但是如果你这样做,要非常清楚,任何克隆或拉取旧HEAD的人都会非常困惑:他们未来的拉动将随着合并失败而死亡,他们将永远讨厌你。 改写历史应该永远是最后的手段。

最新更新