在开发过程中,commit的message可能填写的不合适,或者想删除一些敏感信息,这时候就需要修改最近一次提交的commit信息或者修改历史的commit信息。
修改最近一条commit信息
执行下面的命令,会弹出一个vim的编辑窗口,修改第一行的message信息,:wq保存退出即可。
git commit --amend
修改历史commit信息
先查看提交记录
git log -5
假如我们看到有5条记录,commit1 - commit5代表的都是commit hash, commit5为最新提交,commit1为最老的提交。
- commit5
- commit4
- commit3
- commit2
- commit1
我们想修改commit3的message,需要找到commit3之前的那个提交既commit2,并执行下面代码
git rebase -i commit2
此时默认会打开一个vim弹窗
然后将commit3所在行的
pick修改为edit,:wq保存退出。
然后执行
git rebase --continue
即可修改成功。
PS: 修改历史commit信息这种方式会导致其后的提交hash都会发生变化。出现需要git pull的情况,然后会导致修改前和修改后的commit并存的情况,目前还没有找到解决办法,期待大佬提供方案。