搜索

首页  >  问答  >  正文

git - 假如commit之后,发现还有一点东西没有完善,想完善之后再重新commit,怎样取消之前的commit呢?

或者,之后commit与前一次的合并,也可以。

phpcn_u1582phpcn_u15822794 天前634

全部回复(3)我来回复

  • ringa_lee

    ringa_lee2017-05-02 09:27:39

    如果是想改 commit message ,用 git commit -amend

    如果是想加点内容,不要动上一次的 commit(就叫 commit-1 吧),接着修改,然后提交一个新的 commit (commit-2)。然后 git rebase -i HEAD~~,会出现如下内容:

    pick commit-1-hash commit-1-message
    pick commit-2-hash commit-2-message

    将第二个 pick 改成 squash 保存退出,出现:

    # first commit message:
    commit-1-message
    
    # second commit message:
    commit-2-message

    删掉这些东西,改成你想要的 commit message 保存并退出即可。

    然后你可以 git log 查看一下,两个 commit 已经合并成为新的 commit 了。

    可以参考:
    5. 用rebase -i 汇合提交

    ===

    BTW,如果你前一次 commit 已经推到远程分支了,而且该分支有人跟你合作,那么最好还是不要修改了。因为你修改之后,就跟远程分支不同步了,所以需要 git push -f origin your-local-branch 才能提交,而这样可能会让其他人的分支跟远程不同步。

    回复
    0
  • ringa_lee

    ringa_lee2017-05-02 09:27:39

    git commit —修改

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-02 09:27:39

    撤销上次的提交 可以用

    git reset HEAD^
    

    回复
    0
  • 取消回复