使用HTTP存储git命令的凭据

时间:2015-10-01 00:08:48

标签: linux git bash git-stash git-config

我想在Linux机器上永久存储Git凭证,而git credential.helper不起作用(我想因为我没有使用SSH) - 我得到了这个错误&# 34;致命:无法读取' http://....'的密码:没有这样的设备或地址"。鉴于我不是存储库的管理员,只允许HTTP进行身份验证,幸运的是我并不关心密码的安全性。如何将git pull命令放入bash文件并避免提示用户输入密码?

我希望有办法实现它。

2 个答案:

答案 0 :(得分:1)

这个问题有两个问题:

  1. 大多数存储库(如GitHub)都需要HTTPS。即使你试图克隆过来 HTTP,它只是将它在后端切换到HTTPS,推送需要它 好。

  2. 拉取不需要密码,除非它是私人回购。就像#1一样 你没有提供有关你的回购信息的信息,很难对此进行进一步评论。

  3. 现在,我的工作是:

    git config --global credential.helper store
    

    然后第一次推送它会询问您的凭据。一旦你 输入后,它们存储在~/.git-credentials中。请注意,它们已存储 在明文中,你已被告知。

答案 1 :(得分:0)

我假设您的存储库需要提取身份验证,否则git不会要求您提供密码。

绕过用户密码提示的推荐方法是在该计算机上创建SSH密钥,将公钥添加到git服务器,然后使用SSH URL作为远程而不是HTTP / S url。但既然你特意说:

  

我不关心密码的安全性

你实际上只需为git pull指定内联密码,如下所示:

git pull http://username:password@mygithost.com/my/repository