Git 通过设置 http.proxy 配置参数在代理环境中工作。
对于某些地址,我需要绕过代理。是否有 no-proxy/bypass-proxy 配置参数?
可以在每个远程基础上覆盖代理 - 请参阅http://git-scm.com/docs/git-config (查找“http.proxy”和“remote.<name>.proxy”设置)。假设你有一个名为“origin”的遥控器,那么你可以用来绕过这个遥控器的代理的命令是:
git config --add remote.origin.proxy ""
要绕过代理,通常是本地地址,您需要做的就是:
export no_proxy=URLToIgnore
您要忽略URLToIgnore
的 URL在哪里。Git
您也可以忽略以某个单词结尾的 URL。
export no_proxy=.mylocal
所有以结尾的网址.mylocal
都将被忽略。要忽略多个 URL:
export no_proxy=.mylocal URLToIgnore
要使其永久化,请将其添加到您的~/username/.bash_profile
文件中。.bash_profile
如果在用户根目录中找不到文件,则手动创建它。
有关更多详细信息: 如何暂时禁用 git http 代理
如果要将配置设置为空值,请确保您拥有 Git 2.1.2+,例如
git config --add remote.origin.proxy ""
因为如果您决定恢复该远程的代理(此处为 ' origin
')......它将使用早于 2.1.2 的 Git 出现段错误(2014 年 9 月 30 日)
请参阅提交 c846664 ( tanayabh
)
make config --add
对空值和NULL
值表现正确目前,如果我们有一个配置文件,例如,
[foo]
baz
bar =
我们尝试类似“
git config --add foo.baz roll
”的东西,Git 会出现段错误。此外,对于“git config --add foo.bar roll
”,它将覆盖原始值,而不是附加到现有的空值之后。问题在于用于模拟“ ”
--add
中的正则表达式,在理想情况下,它不应该与任何字符串匹配,但对于空字符串是正确的。 而是使用像“ ”这样的正则表达式,它对于任何字符串都不能为真,无论是否为空。git_config_set_multivar_in_file()
^$
a^
要删除段错误,请检查in中的
NULL
值。matches()
config.c
对于 Windows 用户
接受的答案要求 git repo 在工作之前存在,第二好的答案仅适用于 linux 和 Mac。因此,在 Windows 中使其适用于https://git-url.com/project/repo-name.git在命令提示符下尝试以下操作
set no_proxy=git-url.com
然后
git clone git-url.com/repo-name.git
现在您将有一个回购应用接受的答案。
由于 Windows / Unix 用户角色,如果您无法从命令行中删除 http_proxy,请尝试这种方法 -
git config -l --show-origin
这将根据层次结构打印基于文件的配置。现在转到特定文件(本地 .git/config 文件夹文件)并更新/删除 http_proxy。
希望这可以帮助。
假设您是从克隆开始的,那么 origin-config 的东西就没那么有用了。当我发现自己处于那个位置时,我会这样做。
$> no_proxy=$no_proxy,<git-url|ip> git clone ...
请注意,这将是每个命令。要使刚刚克隆的 repo 永久保存,您现在可以转到新克隆的 repo 并添加 empty-proxy 设置。
$> git config --add remote.origin.proxy ""
但是,如果您希望在所有情况下都将此主机或 IP 从代理中排除,请使用您的 shell 初始化文件为您的用户永久包含您的来源。
我会将以下行放在 .bashrc 中的最后
export no_proxy=$no_proxy,<your repo>
我希望这能让事情更清楚!
老问题,但这里是如何全局配置它:
git config --global http.proxy proxy.example.com:3128
git config --global http.https://myserver.localdomain.proxy ''
如果您尝试克隆新的存储库,其他答案中给出的某些解决方案将失败,因为 git 抱怨本地文件夹不包含 git 存储库。
在这种情况下,这对我有用
git config --global --add remote.origin.proxy ""
只需在命令提示符下执行以下命令
git config --global http.proxy [Proxy IP]:[Proxy port]