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

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

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


当前回答

2021年8月13日更新

从这里开始:

2020年7月,我们宣布了要求使用 基于令牌的身份验证(例如,个人访问、OAuth或 GitHub应用程序安装令牌)用于所有经过身份验证的Git操作。 从2021年8月13日开始,我们将不再接受账户密码 在GitHub.com上验证Git操作时。

你今天需要做的事情

For developers, if you are using a password to authenticate Git operations with GitHub.com today, you must begin using a personal access token over HTTPS (recommended) or SSH key by August 13, 2021, to avoid disruption. If you receive a warning that you are using an outdated third-party integration, you should update your client to the latest version. For integrators, you must authenticate integrations using the web or device authorization flows by August 13, 2021, to avoid disruption. For more information, see Authorizing OAuth Apps and the announcement on the developer blog.


在命令行上使用令牌

1)创建个人访问令牌-遵循此步骤。

2)一旦你有了一个令牌,你可以在通过HTTPS执行Git操作时输入它而不是密码。

例如,在命令行中输入以下内容:

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token # <----- Bingo!

(*)在这里看到更多。

其他回答

在回应mac的答案,你可以得到你的SSH克隆URL在你的github回购页面,通过点击SSH上你可以克隆HTTPS, SSH,或颠覆。并复制URL。

使用Git for Windows更容易使用HTTPS url。

打开一个git shell,然后git克隆https://github.com/user/repo。根据提示输入用户名和密码。无需设置SSH密钥。

当从启用2FA的私有回购中克隆时,您需要遵循简单的步骤

转到你的Git帐户 进入设置->开发人员设置->个人访问令牌 单击Generate new token 创建一个带有您想要的标题和功能的令牌 当您克隆私有回购时,通过使用git clone repoName,在输入您的用户名后,提供个人访问令牌作为密码。

当您获得私有回购的身份验证失败错误消息时,请执行相同的步骤

除了MK Yung的回答之外:如果您不想收到403 Forbidden响应,请确保将部署到回购的部署键中的任何地方的公钥添加到部署键中。

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

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

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

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

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

希望这能解决问题。