使用 HTTP 存储 git 命令的凭据
Store credentials for git commands using HTTP
我想在 linux 机器上永久存储 Git 用于 git 拉取的凭据,但 git credential.helper 不起作用(我想想是因为我没有使用 SSH ) - 我得到了那个错误 "Fatal: could not read password for 'http://....': No such device or address"。鉴于我不是存储库的管理员并且只允许 HTTP 进行身份验证,幸运的是我不关心密码的安全性。如何将 git pull 命令放入 bash 文件并避免提示用户输入密码?
我希望有解决办法。
这个问题有两处错误:
大多数存储库(例如 GitHub)需要 HTTPS。即使你试图克隆过来
HTTP,它只是在后端将其切换为 HTTPS 并推送要求它作为
嗯。
拉取不需要密码,除非它是私人仓库。像#1,因为
你没有提供任何关于你的回购协议的信息,很难对此进一步评论。
现在,我要做的是:
git config --global credential.helper store
然后你第一次推送它会要求你提供凭据。一旦你
输入它们,它们存储在 ~/.git-credentials
中。请注意,它们被存储
以纯文本形式,您已被告知。
我假设您的存储库需要对拉取进行身份验证,否则 git 不会要求您提供拉取密码。
绕过用户密码提示的推荐方法是在该机器上创建 SSH 密钥,将 public 密钥添加到 git 服务器,然后使用 SSH url对于遥控器而不是 HTTP/S url。但是既然你特别说了:
I don't care about the safety of the password
您实际上可以像这样为 git 拉取直接指定密码:
git pull http://username:password@mygithost.com/my/repository
我想在 linux 机器上永久存储 Git 用于 git 拉取的凭据,但 git credential.helper 不起作用(我想想是因为我没有使用 SSH ) - 我得到了那个错误 "Fatal: could not read password for 'http://....': No such device or address"。鉴于我不是存储库的管理员并且只允许 HTTP 进行身份验证,幸运的是我不关心密码的安全性。如何将 git pull 命令放入 bash 文件并避免提示用户输入密码?
我希望有解决办法。
这个问题有两处错误:
大多数存储库(例如 GitHub)需要 HTTPS。即使你试图克隆过来 HTTP,它只是在后端将其切换为 HTTPS 并推送要求它作为 嗯。
拉取不需要密码,除非它是私人仓库。像#1,因为 你没有提供任何关于你的回购协议的信息,很难对此进一步评论。
现在,我要做的是:
git config --global credential.helper store
然后你第一次推送它会要求你提供凭据。一旦你
输入它们,它们存储在 ~/.git-credentials
中。请注意,它们被存储
以纯文本形式,您已被告知。
我假设您的存储库需要对拉取进行身份验证,否则 git 不会要求您提供拉取密码。
绕过用户密码提示的推荐方法是在该机器上创建 SSH 密钥,将 public 密钥添加到 git 服务器,然后使用 SSH url对于遥控器而不是 HTTP/S url。但是既然你特别说了:
I don't care about the safety of the password
您实际上可以像这样为 git 拉取直接指定密码:
git pull http://username:password@mygithost.com/my/repository