Xcode 8在提交到gitHub时是否忽略git配置?

Xcode 8在提交到gitHub时是否忽略git配置?,xcode,git,github,Xcode,Git,Github,目前,我正在与Xcode和GitHub发生一些争吵。 我正试图让我的Xcode提交给我的GitHub repo以使用我的GitHub用户名,但Xcode坚持在Mac上使用该用户名。 我搜索了一个解决方案,首先发现: xcrun git config --local user.name 'new_user_name' xcrun git config --local user.email 'new@email.com' 我在项目的.git文件夹中运行了这些命令,并查看了它的配置文件,以确保这些更

目前,我正在与Xcode和GitHub发生一些争吵。
我正试图让我的Xcode提交给我的GitHub repo以使用我的GitHub用户名,但Xcode坚持在Mac上使用该用户名。
我搜索了一个解决方案,首先发现:

xcrun git config --local user.name 'new_user_name'
xcrun git config --local user.email 'new@email.com'
我在项目的
.git
文件夹中运行了这些命令,并查看了它的配置文件,以确保这些更改显示出来(它们显示了)。
然后从Xcode内部,我进入源代码管理菜单并选择了Push。
遗憾的是,当我在GitHub上看到时,Mac用户名再次出现了提交

我尝试重新启动Xcode,并使用“
--global
”标志运行上述命令,但仍然没有成功。我遵循了这篇文章的建议:

但是他们警告的环境变量没有设置,所以看起来我应该可以走了。
显然,过去人们在使用这种方法时取得了成功,我想知道这种功能是否在Xcode 8.21(或更早版本)中出现过

还有其他人有这个问题吗?
在这种情况下,XCode是否与git没有完全集成

需要明确的是:当我看到GitHub中出现错误的用户名时,我删除了该存储库并重新开始,在运行xcrun命令后,再次从Xcode推送。因此,这不是以前提交的用户名错误的问题,将来提交的用户名错误的问题会得到纠正。我根本无法使用正确的用户名显示任何提交。谢谢

更新:以下是发布此问题后我尝试的内容。 我跑

这两个(以及--global版本)都返回了正确的值

然后我从命令行按下:

git push origin master
。。。当我查看我的存储库时,我仍然可以在存储库顶部看到Mac用户名

所以,这些都不必与Xcode有关,显然我对user.name的使用位置感到困惑。现在,我猜我看到的是来自本地git存储库的最后一条提交消息:

<MacUserName> committed with <MacUserName> <last commit message>
提交给
因此GitHub使用我本地制作的日志来显示提交消息,并在我的git设置中使用该用户名而不是user.name(这是我所认为/希望发生的事情)。我说得对吗?只是,我真的不希望Mac的用户名出现在我的GitHub repos中的任何地方,我希望有办法阻止它。有吗


抱歉造成混淆。

在Git repo设置(或)中更改用户名/电子邮件只会在新提交时更改

如果您正在推送现有提交(在更改这些设置之前完成),则不会修改GitHub端的名称。

您需要更改过去提交的提交人/作者身份。

在Git repo设置(或)中更改用户名/电子邮件只会更改新提交

如果您正在推送现有提交(在更改这些设置之前完成),则不会修改GitHub端的名称。

您需要更改过去提交的提交人/作者身份。

是的,我知道——我在上面进一步澄清了一点,但这不是我的问题。哦!我想我刚刚理解了一件事——我是否需要在本地回购协议上执行此筛选分支以获得一个具有设置的分支?我以为您的意思是我必须在GitHub方面执行此操作,但这将是错误的如果我也必须在本地进行,那就很有道理了。这就是你的意思吗?谢谢——我的误解。出于某种原因,我认为VonC的评论只与GitHub的方面有关,但我当然应该意识到这意味着我必须先更改本地git回购协议。不知道为什么直到现在才单击。@jak8是的,过滤分支是在本地完成的,分支是强制推送(
git push--force
)到远程GitHub repo。是的,我知道——我在上面进一步澄清了一点,但这不是我的问题。哦!我想我刚刚理解了一件事——我需要在本地repo上做这个过滤分支来获得一个有设置的分支吗?我想你的意思是我必须在GitHub方面做这个,但如果我必须这样做的话,这将非常有意义也在本地。这就是你的意思吗?谢谢——我的误解。出于某种原因,我认为VonC的评论只与GitHub的方面有关,但我当然应该意识到这意味着我必须先更改本地git回购协议。不知道为什么直到现在才点击。@jak8是的,过滤分支是在本地完成的,而该分支是强制推送的(
git push--force
)到远程GitHub repo。第一步:尝试从命令行或SourceTree执行提交/推送。如果这样做有效,您知道问题只是Xcode错误。当您在repo中本地执行git日志时,是否看到正确的名称?第一步:尝试从命令行或SourceTree执行提交/推送。如果这样做有效,您知道问题是Xcode太糟糕了。当你在回购协议中本地登录git时,你看到了正确的名称吗?
<MacUserName> committed with <MacUserName> <last commit message>