Git - 如何登录并拉取私有仓库?

3

我对此感到有些力不从心。我的代码库曾经是公开的,但现在已经变成了私有的。我正试图通过命令行在我的CentOS机器上从源头拉取。

当我尝试执行git pull origin时,我会得到以下错误信息:

 error: The requested URL returned error: 403 Forbidden while accessing <remote path to git>

据我记忆,我从来没有在这台电脑上使用Git设置过用户名/密码,所以我尝试按照这里的说明进行操作:https://help.github.com/articles/set-up-git#platform-linux

但是这没有起到任何作用 / 我从未被要求输入密码。为了澄清,我输入了与我的github帐户关联的相同电子邮件。

在Google中搜索“如何从命令行登录到git”没有找到有用的信息。我该怎么登录到这个东西呢?


你是怎么克隆代码库的?你可能在使用SSH身份验证吗?如果是这样的话,你应该将你的CentOS机器的公共SSH密钥添加到GitHub上。 - Ben-G
给GitHub的小伙伴们打个电话吧 :) - jondinham
@Ben-G 我在我的存储库页面上使用HTTPS克隆链接时,它是一个公共存储库,我进行了克隆。 - JVG
@Ben-G 当我尝试在不同的目录中重新克隆它时,出现相同的错误,“403 Forbidden”。似乎我只是没有用正确的账户登录,但我不知道如何更改。 - JVG
@Ben-G 我成功地将它重新克隆到一个不同的文件夹中,使用 git clone http://user@repodir.git,但是它没有记住这个密码,我仍然无法从原始文件夹中拉取。 - JVG
@Jascination,请你确认一下这个链接:https://help.github.com/articles/setting-your-username-in-git,看看你的全局用户名是否按预期设置?对于原始文件夹,最简单的方法可能是先移除再重新添加远程仓库。 - Ben-G
1个回答

2

使用https,您可以:

  • put your username in your remote url, even in your original repo:

    git remote set-url origin https://YourName@github.com/YourName/yourRepo.git
    
  • store your password in a ~/.netrc file, or in a credential helper cache.
    See "_netrc/.netrc alternative to cURL".

我更喜欢使用gpg-encryption credential helper而不是GitHub提到的内存缓存凭证助手,因为你只需要输入一个密码来管理所有凭证(不仅限于GitHub,还包括其他Git托管提供商(如BitBucket)可能的远程仓库)。


@Brian 感谢你对这个已有6年历史的回答进行编辑! - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接