我在Github上有一个私人存储库,用于我正在进行的一个项目。到目前为止,我只在家里的台式机上工作,但我刚刚买了一台笔记本电脑,我正在尝试设置它,以便我可以在任何一台电脑上工作,并进行推/拉更改。

我在我的Github账户上为笔记本电脑添加了一个新的SSH密钥,并且成功地克隆并更改了我设置的公共测试回购。但是,我不能克隆私人回购。为了克隆私有回购,我需要在命令行中做什么特别的事情吗?我是否需要为我的笔记本电脑设置一个新的GitHub帐户,并将自己设置为合作者?

我使用的命令是git clone git://github.com/username/reponame.git


当前回答

我使用Android Studio从GitHub私有存储库和双因素身份验证(2FA)克隆项目。我在lzl124631x的答案中创建了一个个人令牌。

然后我用这样的url克隆了repo: https://YourGitHubUsername:YourGeneratedPersonalToken@github.com/YourRepoPath.git

其他回答

如果新使用的计算机有不同的凭据,则运行此命令

git 克隆 https://github.com/username/reponame.git

直接不行。Git将尝试使用存储的凭据,而不会提示您输入用户名和密码。由于凭证不匹配,git将输出未找到Repository,克隆操作失败。我解决这个问题的方法是删除旧的凭据,因为我不再使用它们了,然后再次运行上面提到的命令,输入所需的用户名和密码并克隆私有回购。

1)尝试使用以下格式的用户名和密码运行命令

git clone https://your_username:your_password@github.com/username/reponame.git

现在的问题是,当我们在密码中使用特殊字符时。 在Javascript中使用下面的代码将特殊字符的密码转换为UTF-8编码。

console.log(encodeURIComponent('password@$123'));

现在使用这个生成的密码,而不是使用特殊字符并运行命令。

希望这能解决问题。

如果您确定您没有启用2FA,您有权限访问回购,并且回购存在,那么您的git@github.com可能是用另一个帐户登录的。

检查一下你能做什么

ssh -T git@github.com

如果显示另一个帐户,要解决此问题:

 ssh-add -D
 ssh-add ~/.ssh/your_rsa
 ssh -T git@github.com
 git clone git@github.com:<owner_name>/<repo_name>.git

这招对我很管用:

git clone https://username:password@github.com/username/repo_name.git

私有克隆url的形式为git@github.com:username/repo.git -也许你需要使用git@而不是git://?

url是只读的,看起来私有回购不允许这种形式的访问。