GIT如何删除一个中间的错误commit并保留后面正确的commit

如题,中间有一个错误的commit,然后后面又有一堆正确的,现在想删除这个错误,并保留正确的,如何操作?

阅读 13.3k
5 个回答

正常做法是 rebase,把后面的 commit 重新手工处理(重新提交所有有用commit、忽略无用commit、合并冗余commit)。风险和难度都比较大。(亡羊补牢,救回羊砍了狼)

懒的做法就是退回到错误commit之前,之后用新分支重新提交,安全,但是工作量会比较大,中间容易再出错。(亡羊补牢,补上羊圈救回羊)

更懒得做法,你在后面 commit 新的提交去修正前面的错误。(亡羊补牢,补上羊圈新买只羊)

git revert wrong_commit

git rebase -i 回到包含错误提交以前的一个版本,其中就有选项能放弃某个提交的,具体用法请百度

不知道你问的是不是 commit --amend……

貌似不行,除非你RESET回之前的那个提交,然后删除之后的提交日志,再重新提交你需要的。之前我查过。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题