如何在Git提交中更新用户名/电子邮件?

Bre*_*yan 2 git

我希望在Git历史记录中更新用户的用户名,这可能吗?

这是我的一个大错,我刚刚从CVS迁移到没有意识到直到每个人都开始使用Git repo我错过了一些用户名.

Wil*_*ell 7

你想要git-filter-branch.例如,要更改整个历史记录中每个提交的电子邮件地址,您可以执行以下操作:

$ git filter-branch --env-filter GIT_AUTHOR_EMAIL=new_address

您可以将过滤器设置为仅根据您需要的条件修改提交.例如,如果要为"Barry"创作的所有提交设置电子邮件地址,请执行此操作

$ git filter-branch --env-filter '
if test "$GIT_AUTHOR_NAME" = Barry; then
  GIT_AUTHOR_EMAIL=barrys-correct-address
fi'

这将修改每个提交的SHA1.