Git 修改多个历史提交记录的 Author

2021-11-21  本文已影响0人  克罗地亚催眠曲

平时的开发工作中,个人账号和公司账号有时会用混淆,甚至完成几个 commit 之后才发现 master 分支中的多个提交的用户是公司账户,因此需要修改历史提交记录的作者。此篇文章记录下相关操作流程。

开始前的共识

修改 Commit 的作者会使得其 MD5 值改变,任何引用该 MD5 的地方将会无法正常使用。

过程

先执行以下命令将本地仓库的作者设置为正确的值

git config --local --user.name "xxx"
git config --local --user.email "xxx"

假设 fake 分支中历史记录最初的一些 Commit 的作者是正确的,从某个 Commit 开始才出现了不正确的作者。历史记录中最后一个正确的提交的 MD5 是 dcd7008513006dfc06dea0bda2a2f73b2c0509d1。执行命令

git rebase -i -p dcd7008513006dfc06dea0bda2a2f73b2c0509d1

将提交标记为edit。然后一直执行以下命令,直到所有的提交都被设置为正确的作者

git commit --amend --reset-author
git rebase --continue

按照此方法正确地将部分提交的作者设置为正确值。

参考资料

https://stackoverflow.com/questions/750172/how-to-change-the-author-and-committer-name-and-e-mail-of-multiple-commits-in-gi

上一篇 下一篇

猜你喜欢

热点阅读