Git克隆总是要求输入个人访问令牌(私有回购)

时间:2019-04-02 10:29:50

标签: git authentication github git-clone

每次我尝试克隆一个私人仓库时,都会提示我添加用户名和密码。

我环顾四周,看看有什么问题,因为我添加了密码并且无法使用,并且发现我必须使用个人访问令牌。 现在,每次我尝试克隆一个私有仓库时,我都必须添加(或生成另一个)令牌。

有没有一种方法可以在没有令牌的情况下克隆私有git repo?或者至少能够添加我的密码而不是该令牌?

3 个答案:

答案 0 :(得分:0)

您可以使用SSH进行克隆,并使用SSH密钥进行身份验证。有nice guide from GitHub关于如何使用SSH设置git的信息,对于其他提供程序也是如此。设置完成后,不要忘记使用SSH URL(不是HTTPS URL)克隆存储库,或者将克隆的存储库的origin更改为SSH URL。

答案 1 :(得分:0)

您可以使用git凭证存储来存储用户名和密码,同时通过https访问存储库。
运行

git config credential.helper store

然后

git pull

这将询问您的用户名和密码,然后记住它以备将来使用。请注意,运行以上命令将在~/.git-credentials创建一个文件,并将凭据以纯文本格式存储,这可能会带来安全隐患。 另一种选择是将凭据存储在内存中而不是磁盘中。为此,您可以运行以下命令。

git config credential.helper 'cache --timeout=3600'

这样,git不会在磁盘上放置任何文件,而是使用内存来存储凭据。 timeout参数用于指定凭据应在接下来的1小时内进行缓存。

答案 2 :(得分:0)

解决方案

这就是我设法使其起作用的方式。

打开一个新终端并添加

ssh-keygen -t rsa -b 4096 -C "[github email address]"

终端中显示以下内容

Generating public/private rsa key pair. [press Enter] Enter file in which to save the key (/home/${USER}/.ssh/id_rsa): Enter passphrase (empty for no passphrase): [press Enter] Enter same passphrase again: [press Enter]

然后

cd /.ssh ls [you should see 3 files] cat [file].pub

复制内容,然后转到您的Github配置文件设置-> SSH和GPG密钥->新SSH密钥->从[file] .pub中粘贴内容。 完成此操作后,我可以使用SSH克隆github存储库,而无需添加令牌。