Git rebase改变作者?

Ste*_*ven 30 git

所以我愣神中没有配置的git的(没有作者或电子邮件),我想改变那些3个提交一台机器上进行3个提交(尚未推)的作者,以他们所想是.

我知道git commit --amend可以改变作者,但我怎么能做到3?我知道rebase可以改变信息.有没有办法改变作者?

Yan*_*ang 27

您可以使用交互式rebase.这篇文章的答案给出了一个例子: 在一个特定的提交中更改提交作者.

作者要求在特定提交时更改作者,但如果您edit提交了所有要提交的内容,则可以使用交互式基础更改多个提交的作者.

其他与交互式变基相关的潜在有用技术可以在Pro Git书籍 http://git-scm.com/book/en/Git-Tools-Rewriting-History中找到,包括挤压,重新排序,编辑消息等.

  • 您应该能够使用 git rebase BASE_BRANCH --exec 'git commit --amend --author="Author Name <email@address.com>" --no-edit' 一次性完成所有操作 (21认同)
  • `GIT_COMMITTER_NAME="Author Name" GIT_COMMITTER_EMAIL="author@email.com" git commit --amend --author="authorname <author@email.com>" --no-edit` 除了作者之外,这也会更新提交者名称。 (4认同)
  • 请注意,“git rebase --exec ...”从技术上讲是通过在 rebased 分支中每次提交后运行给定命令来工作的。@DylanYoung 注释中的 BASE_BRANCH 应该指向您不想修改的最新提交。当前分支中此后的所有内容都将被修改。 (2认同)
  • 如果您更改了“用户”,那么您可以重新设置基准,并且对于每个提交,执行“git commit --amend --reset-author --no-edit”,如下所示“git rebase --exec 'git commit -” -amend --reset-author --no-edit' BASE` (2认同)