删除 <user> <user> 在 Github 上提交

Removing <user> committed with <user> on Github

我在 github 上有很多提交,看起来像这样:

有没有一种变基的方法,这样我就可以摆脱它并简单地将提交标记为我?

类似于问题 Change commit author at one specific commit

只需几次提交,您就可以手动完成:

  1. git rebase --root -i 将所有内容从当前 HEAD 变基到它的根。
  2. 将所有提交的行更改为 edit
  3. 变基现在从第一次提交开始
  4. 修改当前提交:git commit --amend --author "Name <email>"
  5. 继续变基:git rebase --continue
  6. 重复第 4 步和第 5 步,直到所有提交都通过

"Name <email>" 当然必须是您想要的姓名和电子邮件。

对于多次提交,这种手动方法可能会变得很麻烦。

PS:这会打乱您的回购历史,因为在为提交生成 sha-hash 时会包含作者信息。所以要小心。下次正确设置 user.name 和 user.email。

首先我会检查您的 git 是否配置了正确的用户信息。 运行 git config --list 验证一切是否正确。

您也可以尝试使用交互式变基来编辑提交。

  1. 输入交互式变基git rebase -i <commit ID>
  2. 将要更改的提交更改为edit,保存并退出
  3. 与其他作者重新提交 git commit --amend --author="Author Name <email@address.com>