搜索

首页  >  问答  >  正文

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

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

phpcn_u1582phpcn_u15822763 天前740

全部回复(5)我来回复

  • 淡淡烟草味

    淡淡烟草味2017-05-02 09:34:27

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

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

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

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-02 09:34:27

    git 恢复错误_提交

    回复
    0
  • 黄舟

    黄舟2017-05-02 09:34:27

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

    回复
    0
  • 世界只因有你

    世界只因有你2017-05-02 09:34:27

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

    回复
    0
  • 天蓬老师

    天蓬老师2017-05-02 09:34:27

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

    回复
    0
  • 取消回复