每当我尝试推入我的存储库时,git都会要求用户名和密码。
每次重新输入密码没有问题,但问题是输入用户名。我使用https克隆存储库。
那么,我如何配置git,使它在每次git推送时都不需要用户名。
我是linux新手,但windows git push中的IIRC只要求输入密码。
每当我尝试推入我的存储库时,git都会要求用户名和密码。
每次重新输入密码没有问题,但问题是输入用户名。我使用https克隆存储库。
那么,我如何配置git,使它在每次git推送时都不需要用户名。
我是linux新手,但windows git push中的IIRC只要求输入密码。
当前回答
为了避免输入用户名,但仍会提示您输入密码,您可以简单地克隆存储库,包括用户名:
git clone user_name@example.gitrepo.com/my_repo.git
其他回答
我今天面临这个问题。如果您在2020年11月面临此问题,则需要更新git版本。我收到一封电子邮件,告诉我这件事。下面是github团队的电子邮件内容。
我们检测到您最近试图向GitHub进行身份验证使用旧版本的Git for Windows。GitHub改变了用户在使用Git for Windows时进行身份验证,现在需要使用web浏览器验证GitHub。能够登录通过web浏览器,用户需要更新到最新版本的Git窗户。您可以在以下位置下载最新版本:https://gitforwindows.org/如果您无法将Git for Windows更新到最新版本,请参阅有关详细信息和建议的解决方法,请单击以下链接:https://aka.ms/gcmcore-githubauthchanges如果您对这些更改有任何疑问或需要帮助,请联系GitHub支持,我们很乐意进一步协助。https://support.github.com/contact谢谢,GitHub团队
如果您使用的是https而不是ssh,您可以按照user701648所说的那样在.git/config中编辑“url”,但如果您愿意,也可以添加密码:
url = https://username:password@repository-url.com
对我来说,当我为我的帐户启用2因素身份验证(2FA)时,出现了此问题。我会输入正确的凭据,但身份验证仍然会失败,因为终端身份验证当然不会要求验证代码。
我只需要为我的帐户禁用2FA。这样做后,我只能在git推送期间输入一次凭据。从那时起,他们就不需要了。
截至8月13日,2021不再接受基于密码的登录。现在需要使用基于令牌/SSH的身份验证。
如果你不想每次推送时都被问到,请安装GitHubCLI,然后缓存凭据:
git config --global credential.helper store
gh auth login
并按照提示进行操作。但请确保使用GitHub凭据检查Authenticate Git?带有Y。
编辑(由@dk14根据主持人和评论的建议)
警告:如果您从答案中使用credential.helper存储,您的密码将完全未加密(“原样”)存储在~/.git凭据中。请参阅下面的评论部分或“链接”部分的答案,特别是如果您的雇主对安全问题零容忍的话。
即使被接受,它也不能回答实际OP关于只省略用户名(而不是密码)的问题。对于有这个确切问题的读者,@grawity的答案可能会派上用场。
原始答案(作者@Alexander Zhu):
可以使用以下命令存储凭据
$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
此外,我建议您阅读$git帮助凭据