如何在其他注册用户下克隆git private repo?

时间:2019-05-04 12:34:26

标签: git github

我有一个已经使用多年的GitHub句柄,但是,在加入一家新公司之后,他们要求我在公司电子邮件地址下注册一个新的GitHub帐户。现在,我无法克隆私有存储库,因为将user.name设置为我的普通GitHub句柄。

我阅读了on this page,可以将用户名添加到git clone https://usernamenew@github.com/companyname/repo-name.git之类的URL之前。

但是,我得到了错误

Cloning into 'repo-name'...
remote: Repository not found.
fatal: repository 'https://usernamenew@github.com/companyname/repo-name.git/' not found

如何使用其他用户名克隆公司的仓库?

2 个答案:

答案 0 :(得分:2)

根据您的示例输出,git不会要求您输入密码。看起来像:

  • 您的凭据已缓存
  • 凭据用于您的个人帐户,而不是您的新公司帐户

您已将新用户名正确添加到URL。但是默认情况下,git仅在应用缓存的凭据时才关心主机。

您也可以使用useHttpPath的{​​{1}}选项来告诉git也考虑URL路径。这将允许您使用具有不同存储库的不同帐户。

https://git-scm.com/docs/gitcredentials.html#Documentation/gitcredentials.txt-useHttpPath

  

useHttpPath

     

默认情况下,Git认为HTTP URL的“路径”部分不值得通过外部助手进行匹配。这意味着为https://example.com/foo.git存储的凭证也将用于https://example.com/bar.git。如果您想区分这些情况,请将此选项设置为true。

通过运行以下命令进行配置:

gitcredentials

答案 1 :(得分:1)

配置user.name与身份验证无关。

请检查您的git config credential.helper设置。
如果已设置,则意味着您的凭据可能已被缓存:您将需要删除它们,或者最好使用SSH URL(可在其中设置different private key for different URL的SSH URL)

如果这不是缓存问题,只需检查usernamenew确实有权访问github.com/companyname/repo-name.git