具有子模块的项目的git config代理

时间:2014-10-16 09:35:45

标签: git configuration proxy settings

我有以下项目设置

ProjectA  
    -- [sub moduleB]
       -- file1
       -- file2 etc
    -- [sub moduleC]
  --file1
  --file2
  --etc

ProjectA是它自己的项目。子模块也是如此。每个都有自己的文件和文件夹以及git存储库。但是我遇到的问题是由于公司的限制,子模块中的东西要求我通过代理连接到它。例如ProjectA在内部托管,但子模块不是。将子模块视为更大应用程序的外部插件。

我目前通过手动设置代理来解决这个问题。

所以在projectA中我通过输入

来清除代理设置
git config --global http.proxy ""

当我在子模块中时,我会设置代理

git config --global http.proxy http://<proxy url>:8080

我可以配置git来记住文件夹级别的代理吗?因此,我不必记住(有时会忘记)运行此配置命令。我想做一次,然后忘记它。

1 个答案:

答案 0 :(得分:2)

免责声明 - 我没有类似于您的环境,我可以在这里测试

配置

之类的内容时
git config --global

--global说“将此配置值放在我的主目录中的.gitconfig文件中”。 Git会将您的家庭版.gitconfig应用于您访问的所有存储库。如果你改为配置

git config http.proxy http://your.proxy:8080

它会将配置条目放在当前存储库配置文件中,该文件位于$ REPO / .git / config中。因此,在您的实例中,每个子模块中都设置了http.proxy,但是http.proxy在超级项目或您的主配置中没有任何值可能会有所帮助。

全球未设置

git config --global --unset http.proxy 

然后导航到每个子模块并执行

git config http.proxy http://your.proxy:8080