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

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

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


git commit —amend


撤销上次的提交 可以用

git reset HEAD^

如果是想改 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 才能提交,而这样可能会让其他人的分支跟远程不同步。

【热门文章】
【热门文章】