前言

在提交代码的时候常常会遇到这种情况,我已经把改动提交到远程了,也就是推送了,但是呢,总是会有一些想不到的遗漏发生,比如变量名写错了,注释写错了,反正就是一些很小的细节,但是我又不想再创建一次提交记录,因为这会让历史记录变得很混乱。

为此,便有了这篇文章。

教程

注意,害怕的话我建议先把代码存储一下,因为如果已经合并到上一次记录了,取消本次操作只能reset记录了,到时候代码回退到上一次的提交,你本次修改的东西就没了。

操作也很简单,我们利用下面这个命令:

git commit --amend

此时会打开一个提交信息的编辑界面,我们可以修改提交信息,然后保存退出。(进入到编辑界面会有操作提示,esc 键退出编辑界面,:wq 键保存退出,或者 :q 退出编辑界面)

如果你不想编辑信息,直接可以跳过,用这个命令:

git commit --amend --no-edit

完事后你会发现,上次的提交记录已经在本地被修改了,这时我们再推送到远程仓库即可。

git push --force

注意是强制推送,如果有同事拉取了,记得提醒他们重新拉取一下。

放弃本次操作

如果我们不想合并这次提交,只能通过reset回退到上一次提交,命令如下:

git reset --hard 你的上一次提交的hash

这样回退后,你本次的改动也都消失了,所以一定要慎重操作。

如果你已经推送的远程了,那就只能回退上一次的提交,然后去再去提交的内容中删除你的改动,再强制推送。

分类: Git 笔记 标签: gitcommit合并提交amend

评论

暂无评论数据

暂无评论数据

目录