几周后,我在 GitHub 上的提交列在作者 muheim
下,而不是 jmuheim
下。我不知道这是如何改变的,我想将它改回 jmuheim
,但我不知道如何跟踪它。
我使用的是 macOS,我的密码保存在钥匙串(keychain)中。但是我在那里找不到任何帐户 muheim
,只有 jmuheim
。
我的系统上有一个 id_rsa.pub
,我很确定它映射到 GitHub 上的 jmuheim
,但我不是真正的 SSH 专家.
那么 git push
为什么以及如何使用 muheim
用户?如果我不能解决这个问题,我会尝试删除 muheim
用户(这是我几年前使用的旧用户),但我希望有人能帮我找到这个问题。
最佳答案
您可以在您的计算机上设置您的全局用户名和用户电子邮件:
git config --global user.name jmuheim
git config --global user.email jmuheim@example.com
如果你想改变以前的提交,它会变得有点复杂。请注意,更改作者信息将无法将 pull 请求或 fork 与以前的作者信息 merge ,因为 git 会告诉您它们完全不同。不管怎样,GitHub 好心地提供了一个 tutorial for changing the email将其更改为搜索“错误”名称后,它应该如下所示:
为您的存储库创建一个全新的裸克隆:
git clone --bare https://github.com/user/repo.git cd repo.git
运行此脚本,这将更改从 muheim 到 jmuheim 的所有分支的所有提交中的提交者姓名和作者姓名
#!/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
git push --force --tags origin 'refs/heads/*'
我建议删除旧的克隆并继续使用新的 git clone
你可以检查你在整个仓库中使用的用户名:
git log --all --full-history --pretty=format:"%ae - %ce - %an :%cn"
关于git - 我在 GitHub 上的提交不是来自 "my"用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48013468/