如何防止git一次又一次地要求登录

raf*_*uto 4 git login

我刚刚创建了一个新的 git 存储库,如果不再次输入我的登录信息,我就无法通过 SSH 进行第一次推送。

即使ssh -T git@github.com说我已通过身份验证,它也会要求我提供登录凭据。

pyd*_*oge 5

您可以使用两种类型的 Github 或 Gitlab 链接:

SSH 链接

  • 它们具有以下格式: git@github.com:{USERNAME}/{REPOSITORY}.git
  • 您必须向服务器(在我们的示例中为 Github)添加一个 SSH 密钥才能使用它们。
  • 添加 SSH 密钥后,将不会要求您输入密码(因为身份验证是通过 SSH 密钥处理的)。如果要在多台计算机上工作,则必须使用 SSH 密钥设置每台计算机。

HTTPS 链接

- 它们具有以下格式:`https://github.com/{USERNAME}/{REPOSITORY}.git` - 与 SSH 链接不同,它们不需要任何其他设置。- 他们不为您处理身份验证,因此他们总是会要求输入密码。

您可以使用以下命令重新设置远程 URL:git remote set-url origin {LINK}. 当您打开 Github 并单击克隆或下载时,请注意使用 SSH使用 HTTPS链接。这将为您提供适用于您的用例的正确链接。

对于快速而肮脏的工作,只需按一下即可完成,或者当您使用借来的笔记本电脑/学校计算机时,HTTPS 非常有用。如果你想推送很多东西,或者你在你的私人电脑上工作,SSH 设置会方便得多。

请参阅有关如何添加 SSH 密钥的文档

编辑:Github 弃用了基于 HTTPS 的基本身份验证

根据他们的公告, Github 已弃用 HTTPS 基本身份验证方法。如果您想在不创建 SSH 密钥的情况下克隆存储库,Github 建议使用个人访问令牌,这是一个生成的令牌,将用作您的密码。

使用个人访问令牌的优势在于,如果令牌被盗,您可以随时轻松撤销令牌,而您的帐户不会受到损害。令牌只能访问您授予它的存储库。

使用个人访问令牌的缺点是令牌不容易记住(按设计),因为令牌采用一长串数字和字母的格式(例如a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1)。