Changing commit metadata on all commits
本问题已经有最佳答案,请猛点这里访问。
假设您已经创建了一个git repo并提交了几个更改,但随后您意识到您的全局用户名和电子邮件地址设置不正确,您需要更改所有提交。怎么能做到?这是否和更改全局设置,然后执行
如果回购被推到Github怎么办?幸运的是,没有其他人对回购进行过更改或将其分叉。最简单的修复方法是在GitHub上对回购进行核弹,然后重新创建它吗?
您可以使用
1 | git filter-branch --commit-filter 'export GIT_AUTHOR_NAME="New Name"; export GIT_AUTHOR_EMAIL="[email protected]"; git commit-tree"$@"' |
如果您不想做整个分支,您可以在结尾处添加修订范围(reva不会被触摸):
1 | git filter-branch --commit-filter 'export GIT_AUTHOR_NAME="New Name"; export GIT_AUTHOR_EMAIL="[email protected]"; git commit-tree"$@"' reva..revb |
号