目前我正在与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存储库的任何地方,并希望有办法防止它。有吗?
很抱歉这个混乱。
答案 0 :(得分:0)
更改Git仓库设置(或even globally)中的user.name/email只会更改新提交。
如果您正在推送现有提交(在 之前完成>您更改了这些设置,那么就不会修改GitHub端的名称。
你会need a git filter-branch
更改过去提交的提交者/作者。