在Windows上使用Git,在HTTP代理之后,而不在磁盘上存储代理密码

前端之家收集整理的这篇文章主要介绍了在Windows上使用Git,在HTTP代理之后,而不在磁盘上存储代理密码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Windows上使用 Git,在公司网络中,我使用基本身份验证的HTTP代理.出站SSH不起作用,所以我必须通过代理使用HTTPS.

我知道如何使用git config http.proxy来将设置配置为http:// [username]:[password] @ [proxy]:[port].

但是,特别是因为这是一个共享机器,我宁可不将我的密码存储在我的.gitconfig中.此外,使用git config命令更改.gitconfig会将我的密码保存在我的bash历史记录中,因此即使我记得在会话结束时清除.gitconfig,我几乎肯定会忘记清除我的历史记录.

我尝试设置http.proxy没有密码,希望在尝试推/拉时,我会得到一个提示,询问我的密码,但是我只需要407代理验证.我在网上找到的所有信息似乎都忽略了使用.gitconfig中明文保存密码或处理NTLM代理的问题.

我很高兴在每次需要连接时键入代理详细信息 – 目前我可以看到的最佳解决方案是编写一个包装器脚本,它将提示输入密码,并将其设置为调用git时的环境变量.这是一个体面的解决方案,并且在脚本中为单个调用设置环境变量是否有任何安全隐患?最好是有什么内置的设置或现有的工具可以用于此?

您也可以使用环境变量(您可以为您的会话设置),而不是使用git设置,如 this answer所述:
set http_proxy=http://username:password@proxydomain:port
set https_proxy=http://username:password@proxydomain:port
set no_proxy=localhost,.my.company

因此,您的包装脚本可以,而不是修改.gitconfig(并以纯文本形式保留密码)根据需要设置环境变量,仅适用于当前会话.

猜你在找的Windows相关文章