我在OSX Mavericks上运行Git,直到现在还没有问题。改变的是我试图在同一台计算机上的不同回购中使用两个Github帐户。
问题是osx-keychain
正在存储我第一个帐户的登录信息。这之前非常棒,但每当我尝试提交或推送我的新Github帐户时,默认使用钥匙串的用户名和密码值,并忽略本地定义的git配置(甚至全局git配置!)文件。 / p>
我可以删除我的osx-keychain,然后推送到新帐户,但这样做会为该帐户创建一个新的钥匙串,这让我回到原点:能够推送到我的辅助帐户新的钥匙串值但已锁定在我的主帐户之外。
所以我陷入了“两种情况”,我真的希望有一种“两种”解决方案。有什么帮助吗?
P.S。我尝试了this solution,但它没有用,因为osx-keychain
似乎覆盖了SSH身份功能
答案 0 :(得分:8)
如果您使用的是https网址,则the solution you mention不会产生任何影响:它适用于多个ssh密钥。
关于https,this question提到了一些解决方案,包括:
gitcredentials
所述。<登记/>
请注意,更改此设置将再次针对每个网址请求您的凭据。默认情况下,Git不认为http URL的“路径”组件值得通过外部助手进行匹配。
这意味着为https://example.com/foo.git
存储的凭据也将用于https://example.com/bar.git
如果您确实要区分这些情况,请将此选项设置为true。
另外,请确保您的https网址包含您的帐户名称:
git clone https://user1@github.com/auser/aprojectX
git clone https://user2@github.com/auser/aprojectY
这将有助于凭证助手知道应该查找哪个帐户/密码。
最后,您用于访问git repo托管服务的身份验证与以下内容无关:
git config (--global) user.name
最后一个配置仅用于设置与本地提交相关联的作者 它不是用于选择用于访问远程托管网站的帐户。