【问题标题】:How to change author on git commit without re-fixing merge conflicts [duplicate]如何在不重新修复合并冲突的情况下更改 git commit 的作者 [重复]
【发布时间】:2013-11-01 02:06:04
【问题描述】:

我正在开发一个带有 git 版本控制的项目。它有很多贡献者。在项目的最初几天,许多提交都是在没有作者的情况下进行的。我也读过this postthis one。我试过通过git rebase -i <Original commit SHA>,但我用edit标记标记的所有提交都有合并冲突需要解决!我考虑调用 rerere 来使用旧的修复程序,但是因为 rerere 更改被缓存并且我最初没有在 gitconfig 中将其设置为 true,所以这里不是一个选项。

没有逐个提交并重新解决合并冲突,我可以做些什么来更改那些早期提交的作者?

【问题讨论】:

  • 如果你正在做一个涉及合并提交的变基,你为什么不使用 --preserve-merges 标志?
  • 要在 rabase 命令中显示合并,我们需要添加 -rrebase-merges。然后我们又在某个地方陷入了一些合并冲突!

标签: git git-rebase git-rerere


【解决方案1】:

您参考的帖子提到了rebase -i,还有git filter-branch

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

不过,就像变基一样,它会改变你的历史,你必须push --force 最终结果。

【讨论】:

    【解决方案2】:

    我想你会帮助这个参数--author。 因此,如果您已经合并提交,只需写入:

    git commit --amend --author="Foo Bar <foo@example.com>"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-22
      • 2014-02-14
      • 2019-03-14
      • 1970-01-01
      • 2014-01-10
      • 2015-04-11
      • 2012-02-24
      • 1970-01-01
      相关资源
      最近更新 更多