My commits on GitHub are not from “my” user
几周后,我在Github上的承诺被列在作者
我在MacOS上,我的密码保存在钥匙链中。但我在那里没有找到任何账户,只有账户。
我的系统上有一个
那么,为什么和如何使用
您可以在计算机上设置全局用户名和用户电子邮件:
1 2 | git config --global user.name jmuheim git config --global user.email [email protected] |
号
如果您想更改以前的提交,它会变得更复杂一些。请注意,更改作者信息将使拉请求或分叉无法与以前的作者信息合并,因为Git会告诉您这些信息完全不同。不管怎样,Github提供了一个教程,用于在更改电子邮件后搜索"错误"名称,它应该如下所示:
创建存储库的新的裸机克隆:
1 2 | git clone --bare https://github.com/user/repo.git cd repo.git |
运行此脚本,它将在所有从muheim到jmuheim的分支中更改提交者名称和作者名称。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/bin/sh git filter-branch --env-filter ' OLD_NAME="muheim" CORRECT_NAME="jmuheim" if ["$GIT_AUTHOR_NAME" ="$OLD_NAME" ] then export GIT_COMMITTER_NAME="$CORRECT_NAME" fi if ["$GIT_COMMITTER_NAME" ="$OLD_NAME" ] then export GIT_AUTHOR_NAME="$CORRECT_NAME" fi ' --tag-name-filter cat -- --branches --tags |
。
推到Github
1 | git push --force --tags origin 'refs/heads/*' |
我建议删除旧的克隆并继续使用新的
您可以通过以下方式检查整个回购中使用的用户名:
1 | git log --all --full-history --pretty=format:"%ae - %ce - %an :%cn" |
。
认证与用于提交的
检查你的
您还可以将用户名/电子邮件替换为旧提交。(尽管这将改写回购的历史:如果你是唯一一个与之合作的人,这并不重要)
也要检查您的
但是:如果您的提交被推到右边的
1 2 | cd /path/to/repo git config user.email email-of-second-GitHub-account |
请参阅"为什么我的提交链接到错误的用户?".