在 Git 中存储用户名和密码

在 Git 中存储用户名和密码

当我做

git push

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

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

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

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

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

Password for 'https://[email protected]':

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

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

我已经做了

git config --global user.name myusername
git config --global user.email [email protected]

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

答案1

在终端中,输入以下命令以启用凭证内存:

$ 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'

答案2

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

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

答案3

将此内容复制自git scm

$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
[several days later]
$ git push http://example.com/repo.git

[您的凭据将自动使用]

答案4

尝试git-credential-oauth, 包括在许多 Linux 发行版

不再需要密码!不再需要个人访问令牌!不再需要 SSH 密钥!

git-credential-oauth 是一个 Git 凭证助手,可使用 OAuth 安全地向 GitHub、GitLab、BitBucket 和 Gerrit 进行身份验证。

第一次推送时,助手将打开浏览器窗口进行身份验证。存储生命周期内的后续推送不需要交互。

相关内容