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

时间:2017-03-10 20:45:35

标签: xcode git github

目前我正在与Xcode和GitHub发生争执 我正在尝试让我的Xcode提交到我的GitHub仓库以使用我的GitHub用户名,但Xcode坚持使用Mac上的用户名。
我搜索了一个解决方案,最初发现了这个:

xcrun git config --local user.name 'new_user_name'
xcrun git config --local user.email 'new@email.com'

我在项目的.git文件夹中运行了这些命令,并查看了它的配置文件以确保这些更改出现(他们确实如此)。
然后从Xcode内部,我进入Source Control菜单并选择了Push 可悲的是,当我查看GitHub时,提交再次发生在Mac用户名上。

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

https://help.github.com/articles/setting-your-email-in-git/

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

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

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

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

git config --local user.name
git config --local user.email

这些(和--global版本)都返回了正确的值。

然后我从命令行推送:

git push origin master

...当我查看我的存储库时,我仍然可以在存储库的顶部看到Mac用户名!

所以,这与Xcode没有任何关系,显然我对使用user.name的地方感到困惑。现在,我猜我所看到的是来自 local git存储库的最后一次提交消息:

<MacUserName> committed with <MacUserName> <last commit message>

所以GitHub正在使用我的本地日志来显示提交消息,并在我的git设置中使用那个用户名而不是user.name(这是我认为/希望会发生的事情) 。我对吗?它只是,我真的不希望Mac用户名出现在我的GitHub存储库的任何地方,并希望有办法防止它。有吗?

很抱歉这个混乱。

1 个答案:

答案 0 :(得分:0)

更改Git仓库设置(或even globally)中的user.name/email只会更改提交。

如果您正在推送现有提交(在 之前完成>您更改了这些设置,那么就不会修改GitHub端的名称。
你会need a git filter-branch更改过去提交的提交者/作者。