rebase
如图,红圈中提交的用户名及邮箱是需要改的,则需要复制需要改的提交记录的上一个记录hashcode
,在本例中就是a0a891a48f92b51201042fccbe61ed12646eda5e
git rebase -i a0a891a48f92b51201042fccbe61ed12646eda5e
HEAD~步长
的方式,但如果提交记录很久远的话,算步长就不太现实,所以更推荐hashcode
写法git rebase -i HEAD~1
git rebase -i --root
需要修改哪个commit就在行首将pick
改为edit
,在本例中则需要改第一行
wq
保存退出之后会返回如下内容
git commit --amend --reset-author
命令执行后会进入提交日志的编辑界面,我们仅需要修改用户名及邮箱,不需要修改提交日志信息,wq
保存退出即可
接下来此次提交的作者及邮箱会被修改为--local
级别的用户名及邮箱,若该级别没有设置,则会使用--global
级别的用户名及邮箱
git commit --amend --author="otheruser <otheremail@qq.com>"
rebase
git rebase --continue
再查看提交记录,可以看到提交的作者及邮箱已经改正了
git push -f origin master
原文:https://www.cnblogs.com/convict/p/14897726.html