Git修改已经提交的用户名信息

摘要

由于工作或者其他原因,有时候我们会修改git的用户名和邮箱账号,没有改过来就提交,就会导致提交人信息不一致的问题。
现在记录修正回来的方法

简单步骤介绍

# 第一步,(n)代表提交次数
git rebase -i HEAD~n
# 第二步
然后按`i`编辑,把`pick` 改成 `edit`,按'Esc'退出编辑,按`:wq`保存退出
# 第三步
git commit --amend --author="作者 <邮箱@xxxx.com>" --no-edit
# 第四步
git rebase --continue
# 第五步
git push --force

详细步骤介绍

如图,这里的提交人信息不是我想要的,需要修改过来


01.png

列出需要预览的已经提交的次数,这里我列出5条(因为需要修改的就在这5次之内)

git rebase -i HEAD~5

找到你要修改的对应的SHA1 ID,这里我的是4f1234411400f6,如图所示

02.png

然后按i编辑,把pick 改成 edit,按'Esc'退出编辑,按:wq保存退出,如图所示

03.png

04.png

05.png

这里的意思是说,你可以使用 git commit --amend 来修改此次提交,修改以后,觉得满意了,执行 git rebase --continue 继续剩下的流程。
由于我们的主要目的是修改提交者的信息,因此光用 git commit --amend 是不够的,我们要使用 git commit --amend --author="作者 <邮箱@xxxx.com>" --no-edit 这样的操作,这一点是修改提交者信息的关键所在,

git commit --amend --author="作者 <邮箱@xxxx.com>" --no-edit

如图所示


06.png

接着继续执行

git rebase --continue

如图所示


07.png

最后,通过将篡改历史纪录后的结果同步到服务器

git push --force
08.png

最后,在查看提交用户名信息已经修改


09.png

OK!到此结束