我们在这里屏蔽了 9418 端口,所以我似乎无法使用 git://xyz.git 进行克隆
有没有办法让 git 改用 HTTP?如果我手动执行它,它可以工作,但是当我运行 git submodule update 时,它总是想使用 git:
最佳答案
您需要更改配置变量submodule.<submodule-name>.url
对于每个子模块,例如:
git config submodule.whatever.url http://github.com/nvie/shFlags.git
然后当你做 git submodule update
, git fetch
在该子模块中运行的程序将使用该配置变量中的 URL。
如果要改origin
在该子模块中,您需要采取一些单独的步骤:
cd whatever
git remote rm origin
git remote add origin http://github.com/nvie/shFlags.git
...但是如果您没有积极参与该子模块,则不必担心。
.gitmodules
文件仅用于设置 submodule.<submodule-name>.url
初始化子模块时的变量。除非您想推出新版本的 .gitmodules
,否则不值得更改文件,最好确保 .gitmodules
中的 URL每个可能克隆它的人都可以访问该文件(例如,通常您不会提交带有 SSH URL 的 .gitmodules
文件。)
关于git - 使用 git submodule update 时,如何告诉它使用 HTTP 而不是 GIT 克隆依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5887358/