每当我尝试推入我的存储库时,git都会要求用户名和密码。

每次重新输入密码没有问题,但问题是输入用户名。我使用https克隆存储库。

那么,我如何配置git,使它在每次git推送时都不需要用户名。

我是linux新手,但windows git push中的IIRC只要求输入密码。


当前回答

编辑(由@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帮助凭据

其他回答

编辑(由@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帮助凭据

当我只使用git pull,git pull-origin xxx时,git会同时要求用户名和密码。

git config credential.helper store

它起作用。

对我来说,当我为我的帐户启用2因素身份验证(2FA)时,出现了此问题。我会输入正确的凭据,但身份验证仍然会失败,因为终端身份验证当然不会要求验证代码。

我只需要为我的帐户禁用2FA。这样做后,我只能在git推送期间输入一次凭据。从那时起,他们就不需要了。

(仅适用于Mac OS)

对于Windows和Linux,请参阅下面提到的Github文档链接。

来自Github文档:文档链接

在Git中缓存GitHub密码

您需要Git 1.7.10或更高版本才能使用osxkeychain凭据帮手检查Git版本:Git--version要了解osxkeychain助手是否已安装:git凭证osxkeychain如果您收到以下响应,那么您已经安装并准备好在mac上使用:>用法:git credential osxkeychain<get|store|erase>如果您没有得到如上所示的响应,则可以运行以下命令安装它:git凭证osxkeychain要告诉git全局使用osxkeychain获取git凭据:git-config--全局凭证.helper osxkeychain在将凭据保存到密钥链之前,它将提示一次。

截至8月13日,2021不再接受基于密码的登录。现在需要使用基于令牌/SSH的身份验证。

如果你不想每次推送时都被问到,请安装GitHubCLI,然后缓存凭据:

git config --global credential.helper store
gh auth login   

并按照提示进行操作。但请确保使用GitHub凭据检查Authenticate Git?带有Y。