我有一个带有两个分支的仓库:master
和fix-tests
。远程地,我已经创建了PR,并在修订测试中进行了Squash和Merge,以便修订测试中的所有更改都在主版本中。一切都很好。但是,当我检出修订测试并进行git show
时,它说:
Author: jsmith <john.smith@email.com>
但是,当我让Master签出并进行git-show
时,它会说:
Author: John Smith <john.smith@email.com>
为什么我的用户名(在修正测试中)的第一个作者名全名?尝试将提交信息发送到Slack时,这会导致问题。
任何人和所有帮助将不胜感激。谢谢!
答案 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'