我在Github上有一个私人存储库,用于我正在进行的一个项目。到目前为止,我只在家里的台式机上工作,但我刚刚买了一台笔记本电脑,我正在尝试设置它,以便我可以在任何一台电脑上工作,并进行推/拉更改。
我在我的Github账户上为笔记本电脑添加了一个新的SSH密钥,并且成功地克隆并更改了我设置的公共测试回购。但是,我不能克隆私人回购。为了克隆私有回购,我需要在命令行中做什么特别的事情吗?我是否需要为我的笔记本电脑设置一个新的GitHub帐户,并将自己设置为合作者?
我使用的命令是git clone git://github.com/username/reponame.git
对我来说,解决方案是:
git clone https://myusername@restoftherepolink.git
在这里,你需要是回购的所有者,但如果你不是,那么它将
git clone https://myusername@github.com/ownersusername/repo_name.git
如果你启用了2FA,那么:
从右上角的个人资料图标进入设置或访问https://github.com/settings/profile
转到底部选项卡或转到https://github.com/settings/tokens
打开最后一个标签这里个人令牌。并生成一个令牌
复制令牌并运行git clone https://myusername@restoftherepolink.git
当提示输入密码时,把标记放在这里。
我认为值得一提的是,如果由于某些原因不能使用SSH协议,并且修改私有存储库http(s) URL以提供基本的身份验证凭据也不是一个选项,那么还有一个替代方案。
基本身份验证头可以使用http配置。extraHeader git-config选项:
git config --global --unset-all "http.https://github.com/.extraheader"
git config --global --add "http.https://github.com/.extraheader" \
"AUTHORIZATION: Basic $(base64 <<< [access-token-string]:x-oauth-basic)"
其中[access-token-string]占位符应该被替换(包括方括号)为生成的真实令牌值。您可以在这里和这里阅读更多关于访问令牌的信息。
如果配置已正确应用,则配置的AUTHORIZATION头将包含在git命令访问的github.com IP地址的每个HTTPS请求中。