我在Github上有一个私人存储库,用于我正在进行的一个项目。到目前为止,我只在家里的台式机上工作,但我刚刚买了一台笔记本电脑,我正在尝试设置它,以便我可以在任何一台电脑上工作,并进行推/拉更改。
我在我的Github账户上为笔记本电脑添加了一个新的SSH密钥,并且成功地克隆并更改了我设置的公共测试回购。但是,我不能克隆私人回购。为了克隆私有回购,我需要在命令行中做什么特别的事情吗?我是否需要为我的笔记本电脑设置一个新的GitHub帐户,并将自己设置为合作者?
我使用的命令是git clone git://github.com/username/reponame.git
2022年4月更新:
可以从帐户克隆私有存储库,如果您是组织的所有者或成员,也可以从组织克隆私有存储库。
*pat是pat(个人访问令牌)。
git clone https://<pat>@github.com/<your account or organization>/<repo>.git
要从您的帐户或组织克隆一个私有存储库,您需要在您的Github帐户上生成一个PAT(个人访问令牌),并将其添加到上面的命令中。*组织没有PAT生成器。
这是如何在你的Github帐户上生成一个PAT:
1、进入“设置”:
2、向下滚动,然后进入“开发者设置”:
3、按“个人访问令牌”,再按“生成新令牌”:
4、填写“备注”,然后勾选“回购”:
*如果“repo”未选中,则不能克隆私有存储库。
5、向下滚动,然后按“生成token”:
6、最后生成一个PAT:
这是上面生成的PAT的命令:
git clone https://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@github.com/<your account or organization>/<repo>.git
正如每个人都知道克隆的过程,我想在这里补充一些东西。
不要担心特殊字符或将“@”写成“%40”,参见字符编码
$ git clone https://username:password@github.com/user/repo
这条线就可以了
假设我有一个包含特殊字符的密码(我不知道在我的密码中替换什么'@')
如果我想使用我原来的密码以外的其他临时密码怎么办
为了解决这个问题,我鼓励使用GitHub开发者选项来生成访问令牌。
我相信访问令牌是安全的,你不会发现任何特殊字符。
creating-a-personal-access-token
现在我将编写下面的代码来访问我的存储库。
$ git clone https://username:token@github.com/user/repo
我只是用Access-token替换了我原来的密码,
现在我不担心有人看到我的访问凭证,我可以在任何时候重新生成令牌。
确保您已勾选“私有存储库的完全控制”
我有一个公司(私人)帐户,启用了2因素身份验证,所以我必须结合一些帖子,使其工作如下。(记下来,这样可能对有同样情况的人有用)
Initially it was the Fatal Error.
fatal: repository 'https:
...
remote: Repository not found.
fatal: repository 'https:
安装凭据管理器并更新GIT,如此处所述:https://codeshare.co.uk/blog/how-to-solve-the-github-error-fatal-httprequestexception-encountered/
这并没有解决问题,因为当我尝试使用clone命令时,问题移动到下面:
$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git
remote: Invalid username or password.
fatal: Authentication failed for 'https://
我的密码中有$符号,出于某种原因GIT命令行/ GIT Bash不喜欢它。我可以看到,在错误返回的文本中没有$符号。
fatal: Authentication failed for 'https://<username>:<password-missing-$-symbol>@github.com/<ORG_NAME>/<PROJECT-NAME>.git'
我不得不参考这个网站:https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage
请注意:如果您的帐户存储了错误的密码
Windows凭证管理器也会增加问题。我
移除了以这种方式存储的github凭据,然后移动到下面的步骤。
$ git config --global credential.helper cache
$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git
现在弹出Windows凭据管理器。我在文本框中输入了我的用户名和密码(这接受了带有$符号的密码),并提示我输入2-Factor身份验证代码。我从谷歌Authenticator中输入身份验证代码,克隆就完美地启动了。
解决方案:2022年2月
进入>开发者设置>个人访问令牌链接:https://github.com/settings/tokens
单击生成新令牌
选择作用域(启用全部以完全访问)
这将生成一个令牌,看起来像这样:
现在使用以下命令:
git clone https://user:TOKEN@github.com/username/repo.git
更新2021年(过时)
正在执行以下命令:
git clone https://user:pass@github.com:username/repo.git
将在以下错误中解决:
密码认证支持已于2021年8月13日移除。请改用个人访问令牌。
并将您链接到以下支持页面:
https://docs.github.com/ en /认证/ keeping-your-account-and-data-secure / creating-a-personal-access-token
方案2021(过时)
点击你的图标配置文件,然后转到(使用上面的链接获取更多指导):
设置>开发人员设置>个人访问令牌>生成新的令牌