首页 > 解决方案 > 尽管之前设置了密码,为什么 git pull 要求输入密码?

问题描述

所以,这就是我们正在尝试做的事情:

$ git config --global credential.helper store
$ git config --global user.name myname
$ git config --global user.password mypassword
$ tmpdir=`mktemp -d`
$ cd $tmpdir
$ git init
$ git remote add origin <https github URL ending in .git>
$ git pull

运行时$ git pull,系统会再次提示我输入用户名和密码。我的理解是,一旦我在全球范围内设置了用户名和密码,不应该git自动接受吗?我需要将这些步骤作为自动化功能的一部分运行,并且在 https git url(或通过 tha 提示符)中明确提供用户名和密码将无济于事。

如何设置它,这样我就不必一直手动提供凭据?

标签: gitdocker

解决方案


我认为这是因为您使用的是 https 远程 url。

根据来自 GitHub 的解释

使用 HTTPS 远程 URL 有一些优点:它比 SSH 更容易设置,并且通常可以通过严格的防火墙和代理工作。但是,它还会在每次拉取或推送存储库时提示您输入 GitHub 凭据。

您可以使用凭证助手告诉 Git 在每次与 GitHub 对话时记住您的 GitHub 用户名和密码。

打开凭证助手,以便 Git 将您的密码保存在内存中一段时间​​。默认情况下,Git 会将您的密码缓存 15 分钟。

设置 git 以使用凭证内存缓存

$ git config --global credential.helper cache

将缓存设置为 1 小时后超时(设置以秒为单位)

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

推荐阅读