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

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

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


当前回答

这招对我很管用:

Git克隆https://username@github.com/username/repo_name

其他回答

正如每个人都知道克隆的过程,我想在这里补充一些东西。 不要担心特殊字符或将“@”写成“%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替换了我原来的密码, 现在我不担心有人看到我的访问凭证,我可以在任何时候重新生成令牌。

确保您已勾选“私有存储库的完全控制”

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

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

我需要一种非交互式的方法来克隆私有回购。

受本期启发:https://github.com/github/hub/issues/1644

步骤1。

在github开发者设置中创建一个个人访问令牌: https://github.com/settings/tokens

步骤2。

git clone https://$token:x-oauth-basic@github.com/$username/$repo.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

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

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

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

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

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

希望这能解决问题。