繁体   English   中英

如何为多个Github帐户存储钥匙串凭证?

[英]How can I store keychain credentials for multiple Github accounts?

我在OSX Mavericks上运行Git,直到现在还没有遇到过问题。 改变的是我试图在同一台计算机上的不同回购中使用两个Github帐户。

问题是osx-keychain正在存储我第一个帐户的登录信息。 这之前非常棒,但每当我尝试提交或推送我的新Github帐户时,默认使用钥匙串的用户名和密码值,并忽略本地定义的git配置(甚至全局git配置!)文件。

我可以删除我的osx-keychain,然后推送到新帐户,但这样做会为该帐户创建一个新的钥匙串,这使我回到原点:能够使用新的钥匙串值推送到我的辅助帐户但被锁定在我的主帐户之外。

所以我陷入了“两种情况”,我真的希望有一种“两种”解决方案。 有帮助吗?

PS我尝试过这个解决方案 ,并没有用,因为osx-keychain似乎覆盖了SSH身份功能

如果您使用的是https网址,那么您提到的解决方案就没有任何效果:它适用于多个ssh密钥。

关于https, 这个问题提到了一些解决方案,包括:

  • 默认情况下,gitcredentials仅考虑域名。
    如果您希望git考虑完整路径(例如,如果您有多个GitHub帐户), 请将useHttpPath变量设置为true ,如gitcredentials
    请注意,更改此设置将再次针对每个URL询问您的凭据。

默认情况下,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

最后一个配置仅用于设置与本地提交相关联的作者。
它不是用于选择用于访问远程托管网站的帐户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM