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

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

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

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


当前回答

我尝试了这些步骤,结果成功了:

创建个性化访问令牌:https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token将令牌添加到Android studio(文件->设置->版本控制->Github->添加-使用令牌登录)转到文件->设置->版本控制->Git并取消选中“使用凭据助手”

其他回答

您可以在本地存储库的.git/config文件中完成此操作。此文件包含一个名为“remote”的节,其中包含名为“url”的条目。“url”条目应包含您正在讨论的存储库的https链接。

当您在主机“url”前面加上用户名时,git不应该再要求您输入用户名。下面是一个示例:

url = https://username@repository-url.com

当一个人使用HTTPS而不是SSH下载时,就会出现这种情况。我实现的最简单的方式是,当我做了一些更改时,我推送了所有内容,其中要求输入用户名和密码,然后我从我的机器中删除了目录,并将其从gitclone SSH地址中删除。解决了。

只需使用SSH而不是HTTP克隆它,它就不会要求用户名或密码。

另外,即使使用SSH下载,使用双因素身份验证也会产生问题,因此禁用它可以解决问题。

使用以下命令可以给您15分钟的超时时间。

$ git config --global credential.helper cache

您也可以通过下面的命令修改时间。这是一个1小时的示例。

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

如果要在本地缓存,请使用该命令一小时以超时。

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

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

除了user701648的答案之外,您还可以使用以下命令将凭据存储在主文件夹(所有项目的全局文件夹)中,而不是项目文件夹中

$ git config --global credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>