Git克隆私有仓库时总是要求个人访问令牌(PAT)

14
每次我尝试克隆私有仓库时,都会提示我输入用户名和密码。 我查找了一下问题所在,因为我添加了密码而不起作用,发现我必须使用个人访问令牌。 现在每次我尝试克隆私有的仓库,我都需要添加那个(或生成另一个)令牌。
是否有一种方法可以在没有令牌的情况下克隆私有的Git仓库?或者至少能够添加我的密码而不是那个令牌吗?

请问您能否添加有关源代码 git 存储库的信息,它是在 GitHub 上吗?Bitbucket、GitLab 还是一个裸的 Git 服务器?它是否配置了 SSH 密钥和/或 LDAP? - theraulpareja
3个回答

33

您可以使用Git凭据存储来存储您的用户名和密码,在通过https访问存储库时使用。
运行

git config credential.helper store

然后

git pull

这将要求您输入用户名和密码,然后将其记住以供将来使用。请注意,运行上述命令将在 ~/.git-credentials 中创建一个文件,并以明文形式存储凭据,可能存在安全风险。 另一种选择是将凭据存储在内存中而不是磁盘中。要执行此操作,您可以运行以下命令。

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

通过这种方式,Git将不会在磁盘上存储任何文件,并使用内存来存储凭据。这里的timeout参数用于指定凭据应该缓存下来,以便在接下来的1小时内重复使用。


1
你可以使用 SSH 克隆,使用 SSH 密钥进行身份验证。GitHub 有一份很好的指南,介绍如何使用 SSH 设置 git,并且其他提供商也基本相同。设置完成后,请不要忘记使用 SSH URL(而不是 HTTPS URL)克隆存储库,或将已克隆存储库的 origin 更改为 SSH URL。

1

解决方案

这是我成功实现的方法。

打开一个新终端并添加

ssh-keygen -t rsa -b 4096 -C“[github邮箱地址]”

终端中会显示以下内容

正在生成公钥/私钥对。[按回车键] 输入保存密钥的文件名(/home/${USER}/.ssh/id_rsa): 输入密码(无密码请留空):[按回车键] 再次输入相同的密码:[按回车键]

然后

cd /.ssh ls [应该会看到3个文件] cat [文件].pub

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


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