git 修改commit信息

117 阅读1分钟

一:撤销commit

当我们提交了代码,进行了下面的操作

git add .

git commit -m"提交初始的信息"

如果我们想撤回commit,但是代码仍然保留

git reset --soft HEAD^
// 或者
git reset --soft HEAD~1

撤销commit,但是不撤销git add .

补充参数说明

--mixed

不删除工作空间改动代码,撤销commit,并且撤销git add .

--soft

不删除工作空间改动代码,撤销commit,不撤销git add .

--hard

删除工作空间改动代码,撤销commit,撤销git add .

二:修改commit message

1,修改最新的一次commit信息
git commit --amend

进入vim操作界面,点击字母i然后进入INSERT模式,然后对commit信息进行修改,然后按ESC退出,按:wq保存退出。执行git log会发现最近的一次commit信息被修改了。

执行过程中可能遇到的问题:

1,E45:'readonly' option is set(add ! to override)

该错误是当前用户没有权限对文件进行修改。所以:wq!强制保存退出

2,修改完之后,提示:Waiting for your editor to close the file...

不进入vim编辑模式,一般git默认编辑器使用的是cat,需要将编辑器设置为vim

git config --get core.editor // 获取当前默认编辑器

// cat

// 重新设置默认编辑器为vim

git config --global core.editor "vim"

2,修改多次commit信息

1,git log // 查看提交的commit消息

2,git rebase -i HEAD~i ,然后将对应的pick改成e或者edit(可以同时改多个)

git rebase -i HEAD~2 // 修改最新修改的2次commit

3,然后会提示使用 git commit --amend去修改,改好之后用 git rebase --continue 完成

4,改好之后,push提交就好