你是否在每次尝试与 GitHub 进行交互后(即使在配置后)都遇到 Git 询问你的用户名和密码?嗯,这是一个非常普遍的问题,常在用户使用 HTTPS 克隆仓库 URL 时出现。在本文中,我将向你展示如何解决这个问题。

https:// 克隆 URL 在所有公共和私有仓库上均可用。即使你处于防火墙之后,或用了代理,都可以使用这些 URL。

clone

当你在命令行上使用 HTTPS URL 与远程仓库进行交互时,系统会要求你提供 GitHub 用户名和密码。这很麻烦吧?

使用 HTTPS 远程 URL 可以带来一些好处:与 SSH 相比,它更容易设置,并且通常可以在有防火墙和代理情况下运行。 但是,每次你拉取或推送仓库时,它也会提示你输入 GitHub 用户凭证。

你可以通过配置 Git 存储你的密码来解决这个问题

方法如下:

  • 使用 SSH(而非 HTTPS)更新源远程 URL;
git remote set-url origin git@github.com:username/repo.git

或者

  • 让 Git 存储用户名和密码,然后 Git 不会再要求你填写
git config --global credential.helper store
  • 保存会话的用户名和密码(将其缓存);
git config --global credential.helper cache
  • 你还可以为上述操作设置超时
git config --global credential.helper 'cache --timeout=600'

好啦,你已经解决这个问题了,Git 不会再要求你输入账号密码了。


总结

但是,出于安全原因,建议你使用 SSH 与 GitHub 进行交互,尤其是在为公司工作或不是使用你自己的计算机的情况下。

使用 SSH 协议,你可以连接到 GitHub,而无需每次都提供用户名或密码。

点击此处了解如何使用 SSH 连接到 GitHub。

原文:How to fix Git always asking for user credentials,作者:Bolaji Ayodeji