3

假设您创建了一个 git 存储库并提交了一些更改,但随后您意识到您的全局用户名和电子邮件地址设置不正确,您需要更改所有提交。怎么可能呢?是否像更改全局设置一样简单,然后执行git rebase --interactive

现在,如果该 repo 被推送到 GitHub 会怎样。幸运的是,没有其他人对该 repo 进行更改或对其进行分叉。最简单的解决方法是在 GitHub 上对 repo 进行核对,然后重新创建它吗?

4

1 回答 1

3

您可以使用git filter-branchlike(修改“新名称”和“new@email.com”):

git filter-branch --commit-filter 'export GIT_AUTHOR_NAME="New Name"; export GIT_AUTHOR_EMAIL="new@email.com"; git commit-tree "$@"'

如果你不想做整个分支,你可以在最后添加一个修订范围(reva 不会被触及):

git filter-branch --commit-filter 'export GIT_AUTHOR_NAME="New Name"; export GIT_AUTHOR_EMAIL="new@email.com"; git commit-tree "$@"' reva..revb
于 2013-07-03T03:12:15.540 回答