Git在master上的作者姓名与其他分支不同

时间:2018-07-06 18:41:02

标签: git github

我有一个带有两个分支的仓库:masterfix-tests。远程地,我已经创建了PR,并在修订测试中进行了Squash和Merge,以便修订测试中的所有更改都在主版本中。一切都很好。但是,当我检出修订测试并进行git show时,它说:

Author: jsmith <john.smith@email.com>

但是,当我让Master签出并进行git-show时,它会说:

Author: John Smith <john.smith@email.com>

为什么我的用户名(在修正测试中)的第一个作者名全名?尝试将提交信息发送到Slack时,这会导致问题。

任何人和所有帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:2)

如果您正在使用GitHub GUI进行Squash和Merge,则GitHub将获取您的提交并在其中创建新的提交。

执行此操作时,它将从您的GitHub帐户中收集作者姓名和作者电子邮件信息,这大概设置为John Smith而不是jsmith

如果您想解决此问题,可以在GitHub中更新您的姓名,或者在命令行中手动执行合并操作。

另一种替代方法是使用Schwern的答案并在本地更新您的名称,以使其与GitHub上的名称保持一致。

答案 1 :(得分:1)

最可能的原因是您从不同的帐户进行提交,并且它们的配置略有不同。而“压缩合并”是一个提交。

如果您是通过自己的计算机提交的,并且通过Github进行了“压缩并合并”,那么您计算机上的Git配置可能会使用与Github帐户不同的名称。默认情况下,您的计算机可能使用您的登录名jsmith,而注册时Github会使用您的全名,John Smith。您可以使用git config user.name进行检查。

要解决此问题,请在用于进行提交以与Github上的内容匹配的任何帐户上设置您的名字。

 git config --global user.name 'John Smith'