更改所有提交的提交元数据

时间:2013-07-03 01:53:40

标签: git github metadata

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用git filter-branch之类的内容(修改“新名称”和“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