在Git中存储用户名和密码


19

当我做

git push

我得到像这样的命令提示符

Username for 'https://github.com':

然后我手动输入我的用户名

Username for 'https://github.com': myusername

然后我点击,然后Enter提示输入密码

Password for 'https://myusername@github.com':

我希望用户名自动写入,而不必一直手动输入。

我尝试这样做,xdotool但没有成功。

我已经做了

git config --global user.name myusername
git config --global user.email myemail@gmail.com

但仍然总是要求我手动输入


您知道可以使用git存储凭据,对吗?
迭戈·罗西亚

您应该在GitHub上设置SSH密钥,并改用它。
史蒂芬·基特

@DiegoRoccia是的,在问题中也提到了这一点,但这没有帮助。
GypsyCosmonaut

您可以按照git config credential.helper store此处所述使用:stackoverflow.com/questions/11403407/… 在这种情况下,您不会将密码以明文形式存储在原始URL中,而不会存储在配置文件中的文件中。(也未加密)
Oleg Rudenko

Answers:


12

实际上,您所做的只是设置提交信息的作者信息。您没有存储凭据。凭据可以通过两种方式存储:

  1. 使用git凭证功能:https : //git-scm.com/docs/git-credential-store
  2. 将原始网址更改为“ https:// username:password@github.com ”。
  3. 第三种选择是使用ssh密钥(如@StephenKitt所说)。对于github配置,您可以在GitHub帮助页面中找到所有需要的信息

由于安全原因,将用户名和密码添加到原始url并不是很好,但是如果您觉得自己安全,那么这是最好的方法。
kodmanyagha

22

在终端中,输入以下内容以启用凭据存储:

$ git config --global credential.helper cache

您可以更新默认密码缓存超时(以秒为单位):

# This cache timeout is in seconds
$ git config --global credential.helper 'cache --timeout=3600' 

您也可以使用(但请使用引号,否则某些字符可能会用双引号引起来):

$ git config --global user.name 'your user name'
$ git config --global user.password 'your password'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.