我刚刚切换到OS X并完成了我的第一次提交。在推送到Github后,提交作者不是我的Github用户名,而是我笔记本电脑上的当前用户。提交作者显示为“非作者”。我希望提交作者像以前一样是我的Github用户名。我应该怎么做才能解决这个问题?下面是我的意思的照片:https://i.imgur.com/vHvCdIP.png
我刚刚切换到OS X并完成了我的第一次提交。在推送到Github后,提交作者不是我的Github用户名,而是我笔记本电脑上的当前用户。提交作者显示为“非作者”。我希望提交作者像以前一样是我的Github用户名。我应该怎么做才能解决这个问题?下面是我的意思的照片:https://i.imgur.com/vHvCdIP.png
5条答案
按热度按时间mctunoxg1#
在终端中运行以下命令
qaxu7uf22#
虽然Tilak的答案解决了你的问题,但它并没有告诉你为什么,这个答案主要是为了这个目的。
第一件事是:GitHub和Git不是一回事
这是一个常见的错误。Git是版本管理工具,而GitHub是一个在云上提供Git服务器的服务。其他包括Bitbucket和GitLab。
第二件事是:
提交的默认用户是运行git的用户。例如,如果你执行了
sudo git commit
,用户就是root
。你需要做的是,正如接受的答案所建议的,配置你想要的用户名,这与你的GitHub帐户无关,它可以是任何名字。第三件事是:
非作者问题是由于GitHub匹配了创建仓库的用户的邮箱在他们的身边和提交者的邮箱,同样,可以通过接受答案的建议来配置。但是,你的Gituser.email配置与GitHub无关,同样,它只是用来区分仓库创建者的提交和协作者的提交。
kx7yvsdv3#
尽管在配置中设置了用户和电子邮件,但它继续使用系统帐户名,直到以下情况:
git config user.useConfigOnly true
user.useConfigOnly
指示Git避免尝试猜测user.email和user.name的默认值,而是仅从配置中检索值。例如,如果您有多个电子邮件地址,并且希望为每个存储库使用不同的电子邮件地址,则在全局配置中将此配置选项设置为true并提供名称,Git会提示你在新克隆的仓库中提交之前设置一个电子邮件。默认值为false。bkhjykvo4#
除了Tilak的答案外,如果已经声明了本地配置值,您可能还需要重新定义它们。在您当前正在使用的任何repo中执行以下操作:
如果您已经尝试在当前存储库中更改本地
user.name
配置值,它将覆盖全局值。因此,当您执行git config -l
时,您可能会看到重复的user.name
和user.email
值。如果两者都存在,请确保它们都是按照您想要的方式定义的。yr9zkbsy5#