如何更新Git提交中的用户名/电子邮件?
我希望在Git历史记录中更新用户的用户名,这可能吗如何更新Git提交中的用户名/电子邮件?,git,Git,我希望在Git历史记录中更新用户的用户名,这可能吗 这是我的一个错误,我不久前从CVS迁移过来,直到所有人都开始使用Git repo,我才意识到我遗漏了几个用户名。这些命令呢 $ git config --global user.name "name" $ git config --global user.email "name@gmail.com" 或者你想要: 由于作者和提交人姓名以及电子邮件是哈希生成提交ID的一部分,因此在不更改提交ID的情况下,无法对现有存储库执行此操作。您需要git
这是我的一个错误,我不久前从CVS迁移过来,直到所有人都开始使用Git repo,我才意识到我遗漏了几个用户名。这些命令呢
$ git config --global user.name "name"
$ git config --global user.email "name@gmail.com"
或者你想要:
由于作者和提交人姓名以及电子邮件是哈希生成提交ID的一部分,因此在不更改提交ID的情况下,无法对现有存储库执行此操作。您需要git筛选器分支。例如,要更改整个历史记录中每次提交的电子邮件地址,您可以执行以下操作: $ git filter-branch --env-filter GIT_AUTHOR_EMAIL=new_address $git filter branch--env filter git\u AUTHOR\u EMAIL=new\u地址 您可以将筛选器设置为仅基于所需的任何条件修改提交。例如,如果要为“Barry”编写的所有提交设置电子邮件地址,请执行以下操作: $git筛选器分支--环境筛选器' 如果测试“$GIT_AUTHOR_NAME”=Barry;然后 GIT_AUTHOR_EMAIL=Barry的正确地址 fi' 这将修改每个提交的SHA1。看起来是这样的,但是我正在寻找一些不会更新SHA1 ID的东西。 $ git filter-branch --env-filter ' if test "$GIT_AUTHOR_NAME" = Barry; then GIT_AUTHOR_EMAIL=barrys-correct-address fi'