我有以下项目设置
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来记住文件夹级别的代理吗?因此,我不必记住(有时会忘记)运行此配置命令。我想做一次,然后忘记它。
答案 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