协慌网

登录 贡献 社区

每当我按下时,Git 都会要求输入用户名

每当我尝试进入仓库时,git 都要求输入username & password

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

因此,我该如何配置 git,这样它就不会在每次git push username

我是 Linux 新手,但 Windows git push IIRC 仅要求输入密码。

答案

编辑(由主持人和评论建议使用 @ dk14)

警告:如果您credential.helper store ,则密码将完全未加密(按原样)存储在~/.git-credentials 。请查阅下面的评论部分或 “链接的” 部分的答案,特别是如果您的雇主对安全问题的容忍度为零。

即使被接受,它也不能回答有关仅省略用户名(而不是密码)的实际 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 help credentials

您可以在本地存储库.git/config该文件包含一个名为 “remote” 的部分,以及一个名为 “url” 的条目。 “url” 条目应包含您正在谈论的存储库的 https 链接。

当您为主机名 “url” 加上用户名前缀时, git不再需要您的用户名了。这是一个例子:

url = https://[email protected]

使用 Git 存储库进行永久身份验证

运行以下命令以启用凭据缓存:

$ git config credential.helper store
$ git push https://github.com/repo.git

Username for 'https://github.com': <USERNAME>
Password for 'https://[email protected]': <PASSWORD>

使用时还应指定缓存过期

git config --global credential.helper "cache --timeout 7200"

启用凭据缓存后,它将缓存7200 秒(2 小时)


读取凭证文件

$ git help credentials