我希望在Git历史记录中更新用户的用户名,这可能吗?
这是我的一个大错,我刚刚从CVS迁移过来,直到每个人都开始使用Git仓库时才意识到我错过了一些用户名。
答案 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"
或者你想要那个:
答案 2 :(得分:2)
由于作者和提交者名称和电子邮件是产生提交ID的哈希值的一部分,因此无法在不更改提交ID的情况下对现有存储库执行此操作。