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

时间:2011-02-24 06:49:26

标签: git

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

这是我的一个大错,我刚刚从CVS迁移过来,直到每个人都开始使用Git仓库时才意识到我错过了一些用户名。

3 个答案:

答案 0 :(得分: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。

答案 1 :(得分:3)

这些命令怎么样?

$ git config --global user.name "name"
$ git config --global user.email "name@gmail.com"

或者你想要那个:

https://serverfault.com/questions/12373/how-do-i-edit-gits-history-to-correct-an-incorrect-email-address-name

答案 2 :(得分:2)

由于作者和提交者名称和电子邮件是产生提交ID的哈希值的一部分,因此无法在不更改提交ID的情况下对现有存储库执行此操作。