【问题标题】:How to delete last n commits of a branch from git after I have pushed? [duplicate]推送后如何从git中删除分支的最后n次提交? [复制]
【发布时间】:2020-04-11 22:49:00
【问题描述】:

我想删除我在我的 repo 中完成的最后 10 次提交(也推送过)

过去我试过这个

git push origin HEAD --force 

但我认为这将删除所有提交。在我推送它之后如何从 git 中完全删除最后 n 次提交..?

【问题讨论】:

  • 独自处理这个 repo?
  • 没有两个成员,但他还没有拉出来
  • 看过但还是不明白如何删除 N NUMBERS OF COMMIT
  • 你有什么困惑?

标签: git github


【解决方案1】:

我建议您不要尝试删除它们,而是 git revert 它们。然后,您将创建一个新的提交,删除这几个提交的内容,并且该操作将在历史记录中保持可见(帮助每个人了解正在发生的事情)。

$ git revert --no-commit HEAD^
$ git revert --no-commit HEAD^^
$ git revert --no-commit HEAD^^^
...
$ git commit -m "revert last ten commits"

【讨论】:

  • 是的,这是一个很好的做法。也许考虑使用简短的语法变体git revert -n HEAD~10.. 来还原最后十个。或者最好记录你的最后一次提交,存储最后一次“良好提交”的哈希值,然后执行git revert -n <goodCommitHash>..(注意最后的两个点,这是暗示某事和HEAD之间范围的语法)。不要忘记add任何冲突解决方案,并在最后提交。
猜你喜欢
  • 2020-07-29
  • 2017-04-03
  • 1970-01-01
  • 1970-01-01
  • 2015-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多