摘要
由于工作或者其他原因,有时候我们会修改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
详细步骤介绍
如图,这里的提交人信息不是我想要的,需要修改过来
![](https://img.haomeiwen.com/i4691146/1927aa405162a1df.png)
列出需要预览的已经提交的次数,这里我列出5条(因为需要修改的就在这5次之内)
git rebase -i HEAD~5
找到你要修改的对应的SHA1 ID,这里我的是4f12344
和11400f6
,如图所示
![](https://img.haomeiwen.com/i4691146/5111bc3d8c0cbf36.png)
然后按i
编辑,把pick
改成 edit
,按'Esc'退出编辑,按:wq
保存退出,如图所示
![](https://img.haomeiwen.com/i4691146/54ad3d548674602d.png)
![](https://img.haomeiwen.com/i4691146/452206622d6f644d.png)
![](https://img.haomeiwen.com/i4691146/784ddb865ad9f44b.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
如图所示
![](https://img.haomeiwen.com/i4691146/bd74ca3bf3274e74.png)
接着继续执行
git rebase --continue
如图所示
![](https://img.haomeiwen.com/i4691146/5128dd94fdce583d.png)
最后,通过将篡改历史纪录后的结果同步到服务器
git push --force
![](https://img.haomeiwen.com/i4691146/373728812fb656b3.png)
最后,在查看提交用户名信息已经修改
![](https://img.haomeiwen.com/i4691146/2d2b3dd616fff614.png)
网友评论