git - Github 网站提交作者用户名与 git log 中显示的用户名不同
问题描述
我对此束手无策。我一直在使用新 PC 进行 IntelliJ 项目,并且发现当我推送任何提交时,作者姓名会显示我的旧用户名(几个月前我已经更改了它,在我得到这台 PC 之前)。然而,无论我做什么,我似乎都无法让 Github 显示正确的作者用户名。
在 cmd 中查看 git log 显示正确的用户名,
git remote show origin
将正确的获取和推送 URL 显示为
https://<username>@github.com/<username>/<project>.git
IntelliJ 的 Git 提交历史窗口也显示了正确的用户名,但是当我进行任何提交时,它仍然显示 Github 上的旧用户名。
我还尝试了以下方法:
- 在提交错误的作者并运行之前重新设置基准
git commit --amend --author "\<username> <<email-address>>"
关于有问题的提交,然后是强制推送(提交确实强制推送并显示为已修改,但作者保持不变)
使用以下命令设置本地和全局 git 配置:
git config --global user.name <username>
git config --global user.email <email-address>
检查 .gitconfig 文件显示正确的用户名
在 Intellij 中删除和重新添加我的 GH 凭据
在 Intellij 中创建一个新项目并将其推送到 Github
使用 Git bash 创建新存储库并将其推送到 Github
重启我的电脑(你永远不知道)
还有什么我可以尝试的吗?我想不出为什么这些提交在新机器上全新安装时会显示错误的用户名,而且我在任何地方都能找到的建议似乎都不起作用。欢迎任何和所有想法!
解决方案
这里发生了两种不同的事情。
首先,在你的提交中,有一个名字和一个电子邮件。 如 Git FAQ 中所述,其中的user.name
内容通常是个人姓名,而不是用户名。inuser.name
对任何帐户或身份验证都没有任何影响,因此没有理由将其设置为用户名。例如,Git 的维护者使用“Junio C Hamano”。 user.email
用于配置提交中的电子邮件地址。
您在 GitHub 上看到的是 GitHub 用户名,与您的提交的关联纯粹基于提交中的电子邮件地址(通常是user.email
您提交时的设置)。例如,如果我使用我通常在家里使用的电子邮件地址,GitHub 会将这些与用户 bk2204 相关联。此对应关系在设置中设置,一次只能将一个帐户与一个电子邮件地址关联。
如果您希望您的提交与不同的帐户相关联,那么他们必须使用与该帐户相关联的电子邮件地址。如果您在电子邮件地址未与任何帐户关联的情况下创建提交,则 GitHub 将不会显示帐户,而是将值设置为提交中的(个人)名称(例如,“Pat Roe”)。
推荐阅读
- python - 如何使用 websocket 库消除此错误?
- marklogic - marklogic 日志中的这个错误是什么 - XDMP-FORESTNOT、SVC-FILWRT、无效参数
- wpf - wpf - 添加的用户控件不在 ListView 的显示区域时,RelativeSource ActualWidth 绑定错误
- .htaccess - 如何通过 htaccess 强制 https
- vb.net - 具有数据绑定的级联组合框
- twilio - 跳过超时表达式字段在 Twilio Java Helper 库中不可用
- google-chrome-extension - “Chrome 扩展程序引发 CRX 文件错误“CRX_REQUIRD_PROOF_MISSING”
- php - 当数据库中插入新数据时更新/重新加载特定的 div。拉拉维尔 5.8
- javascript - 使用 javascript 从子域更新父域 Cookie 值
- java - 如何将多个值从 EditText 设置为 1 Textview 并自动显示而不单击按钮