我位於企業網絡內部,需要將代理設置爲訪問Intranet外部的服務器。如何從命令行將git config變量設置爲空值
因此,爲了能夠從github中獲得git clone
我們已經設置了HTTP_PROXY
環境變量。這工作正常。
但是,我們也有一個內部的git服務器。要正確訪問我們必須而不是使用代理。它的工作原理,如果我在.gitconfig
文件進行設置:
[http "http://stash.fabricam.com/"]
proxy =
由於代理設置爲空值,在這裏,沒有代理用於git clone
從有問題的服務器。
但是,我希望能夠使用git config --global
在腳本中創建此配置。但我無法弄清楚如何去做。
這些不工作
git config --global http.http://stash.fabricam.com/ ""
git config --global http.http%3A%2F%2Fstash.fabricam.com%2F ""
git config --global http.http%3A%2F%2Fstash.fabricam.com%2F ''
git config --global --add http.http%3A%2F%2Fstash.fabricam.com%2F
正如你可以看到我已經嘗試使用percent encoding,但這並不能幫助。
我已閱讀this post,但我不想在每個命令上設置此項,我真的想要修改.gitconfig
文件。
我試圖設置no_proxy
環境變量,但git
似乎沒有注意到它。
我在Windows環境中,運行git 2.7.1
編輯
感謝@choroba我遠一點。
此命令的行爲取決於外殼不同的是:
git config --global http."http://stash.fabricam.com/".proxy ''
在
PowerShell
,這確實什麼都沒有。在
cmd.exe
它創建了一個設置
[http "http://stash.fabricam.com/"]
proxy = ''
但不起作用。空字符串根本就不是沒有字符串。它會導致這種行爲:
> git clone http://stash.fabricam.com/test.git
Cloning into 'test'...
fatal: unable to access 'http://stash.fabricam.com/test.git/':
Couldn't resolve proxy ''''
- 在
bash
(即Git附帶在Windows上)的命令確實工作,樹立正確的包含空值。但是我寧願在窗戶上使用bash腳本,所以這對我來說不是一個好的解決方案。
很好的建議。奇怪的是,當我執行該命令時,我沒有遇到任何錯誤,但它似乎沒有做任何事情。 當我使用非空字符串時,它將其設置爲該字符串。但空字符串不起作用。我認爲這可能是取消設置配置設置的語法。 –
@KlasMellbourn:適合我,git 2.7.0在cygwin中。 – choroba
好的,我默認使用Powershell。發現:它在PowerShell中沒有做任何事情。在cmd.exe中,它將代理設置爲「'。在bash中(與git一起),它被正確設置爲空。 –