Git修改提交历史中的作者及邮箱信息
原文地址:https://www.cnblogs.com/convict/p/14897726.html
参考地址:https://cloud.tencent.com/developer/article/1393449
一、使用 rebase
#
如图,红圈中提交的用户名及邮箱是需要改的,则需要复制 需要改的提交记录的上一个记录hashcode
,在本例中就是 a0a891a48f92b51201042fccbe61ed12646eda5e
1 | git rebase -i a0a891a48f92b51201042fccbe61ed12646eda5e |
- 也可以用
HEAD~步长
的方式,但如果提交记录很久远的话,算步长就不太现实,所以更推荐hashcode
写法
1 | git rebase -i HEAD~1 |
- 如果整个仓库只有1次提交,即root提交,则需要用如下命令
1 | git rebase -i --root |
二、此时进入编辑界面,记录着commit的信息#
三、修改需要修改的commit#
需要修改哪个commit就在行首将 pick
改为 edit
,在本例中则需要改第一行
四、保存退出#
五、修改用户名及邮箱#
1 | git commit --amend --reset-author |
命令执行后会进入提交日志的编辑界面,我们仅需要修改用户名及邮箱,不需要修改提交日志信息,wq
保存退出即可
接下来此次提交的作者及邮箱会被修改为 --local
级别的用户名及邮箱,若该级别没有设置,则会使用 --global
级别的用户名及邮箱
- 如果不想使用已经设置好的用户名及邮箱的话,也可以手动指定用户名及邮箱:
1 | git commit --amend --author="otheruser <otheremail@qq.com>" |
六、结束 rebase
#
1 | git rebase --continue |
七、同步到远程仓库上#
1 | git push -f origin master |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 夕夕!
评论
ValineGitalk