git 在更改了所有过去提交的作者之后,我如何删除重复提交?

sauutmhj  于 2022-12-17  发布在  Git
关注(0)|答案(1)|浏览(153)

我最近发现,在我工作用的Github仓库中,我的提交与我的Github账户没有关联,只是显示了我的名字,没有任何链接。我发现这是因为我在git中将我的邮箱设置为工作邮箱,但我的Github账户与我的个人邮箱关联。我在git中更改了我的邮箱,但我想尝试更改我过去所有提交的作者,这样它们就会显示为我的Github帐户。我找到了this StackOverflow question,并使用了答案中的命令,因为除了我没有其他人接触过这个仓库:

git rebase -r --root --exec "git commit --amend --no-edit --reset-author"

但是当我把这个推回Github时,它现在显示的是以我的Github账户为作者的今天的每一次提交的重复,而所有以前的提交仍然在那里。我该如何清理这个烂摊子呢?在这一点上,我不介意删除所有这些重复的提交,并让提交历史不链接到我的账户。

9jyewag0

9jyewag01#

在这一点上,我不介意只是以某种方式删除所有这些重复的提交,并返回到有提交历史没有链接到我的帐户。
实际上,你可以有multiple email addresses associated with your GitHub account,因此如果你想链接这些提交,我会在你的账户中添加额外的电子邮件,并将你的repo重置回原来的样子:

git switch main # or whatever branch name is applicable for you
git reset --hard previous-commit-id-before-the-rebase
git push --force-with-lease

注意--force-with-lease而不是--force。如果出现错误,您需要先获取并查看其他人添加了什么,然后在继续之前决定如何处理它。

相关问题