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