关于git rebase:如何在不重新修复合并冲突的情况下更改git commit上的作者

How to change author on git commit without re-fixing merge conflicts

本问题已经有最佳答案,请猛点这里访问。

我正在开发一个带有Git版本控制的项目。它有许多贡献者。在项目的前几天,许多承诺都是在没有作者的情况下做出的。我读了这篇文章,也读了这篇。我试过通过git rebase -i ,但是所有带有edit标签的commiti标志都有合并冲突要解决!我试图调用rerere来使用旧的修复程序,但是因为rerere的更改是缓存的,并且我最初没有在gitconfig中将其设置为true,所以在这里它不是一个选项。

除了通过提交进行提交和重新修正合并冲突之外,我可以做些什么来更改那些早期提交的作者呢?


你提到的文章提到了rebase -i,也提到了git filter-branch

您应该尝试使用git filter_branch方法,它不重新应用每个提交,也不必解决合并冲突。

不过,和Rebase一样,这也会改变你的历史,你也将不得不承认最终的结果。


我想你会帮助这个参数--author。所以,如果你已经有了合并提交,那么就写:

1
git commit --amend --author="Foo Bar <[email protected]>"