如何重置早期提交的作者?

6
我的本地提交记录中有错误的电子邮件地址,所以我使用了以下命令来重置它。然而,它只重置了最近的本地提交记录。如何重置之前的提交记录?
git commit --amend --reset-author --no-edit

也许你可以尝试先检出(或者任何你想修改的)早期提交,然后执行这个操作。 - ulou
2个回答

11
假设您有一个线性的历史记录,您可以通过以下方式重置所有提交的作者信息:
```git git commit --amend --reset-author ```
git rebase -i --exec 'git commit --amend --reset-author --no-edit' --root

如果只影响到部分提交记录,但这些记录依然必须在线性历史中,应该将--root替换为你的第一个提交记录之前的提交记录ID。

3

执行以下命令(根据您需要编辑的提交距离当前的时间远近,您可能需要增加或减少20):

git rebase -i HEAD~20

对于你想修改的提交,将交互式窗口中的 pick 替换为 edit。保存并关闭。

然后执行 git commit --amend,进行修改并让变基继续。


我有两个提交,所以现在我只需要修改第一个。 - ca9163d9
我执行了 git rebase -i HEAD~2,现在停留在之前的提交中。如何将其重新基于最新的提交? - ca9163d9
你完成了rebase吗? - ignoring_gravity

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接