每次我尝试克隆私人仓库时,我都会收到添加用户名和密码的提示。
我环顾四周看看有什么不对,因为我添加了密码但没有工作,并发现我必须使用个人访问令牌。现在,每当我尝试克隆私人仓库时,我必须添加(或生成另一个)令牌。
有没有办法克隆没有令牌的私人git仓库?或者至少能够添加我的密码而不是那个令牌?
您可以使用SSH进行克隆,并使用SSH密钥进行身份验证。关于如何使用SSH设置git有一个nice guide from GitHub,它对其他提供程序的工作方式非常相似。设置完成后,不要忘记使用SSH URL(而不是HTTPS URL)克隆存储库,或者将克隆存储库的origin
更改为SSH URL。
您可以使用git凭据存储来存储用户名和密码,同时通过https访问存储库。 跑
git config credential.helper store
然后
git pull
这将询问您的用户名和密码,然后记住它以备将来使用。请注意,运行上述命令将在~/.git-credentials
创建一个文件,并以明文形式存储凭据,这可能存在安全风险。另一种方法是将凭证存储在内存而不是磁盘中。为此,您可以运行以下命令。
git config credential.helper 'cache --timeout=3600'
这样git就不会在磁盘上有任何文件,而是使用内存来存储凭证。这里的timeout
参数用于指定在接下来的1小时内缓存凭据。
解
这就是我设法让它发挥作用的方式。
打开一个新终端并添加
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仓库,而无需添加令牌。