我有一个已经使用多年的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
如何使用其他用户名克隆公司的仓库?
答案 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
。