git - 使用 git submodule update 时,如何告诉它使用 HTTP 而不是 GIT 克隆依赖项?

标签 git

我们在这里屏蔽了 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/

相关文章:

java - Gradle:如何通过gradle执行git pull?

Git checkout --补丁

git - 将分支移动到历史上的另一个点

git - 协调 Git 流程和 QA

git - 如何制作假的 git 提交日期?

git - 如何删除 Git 中的 'ghost' 远程分支?

git - 从 Windows 与 Linux 访问时共享目录 repo 上的不同 git 状态

linux - 在多台计算机 (Mac) 之间同步工作环境的最佳方式

git - 为什么 github 在我设置 SSH 身份验证时询问我的用户名/密码?

git - spring-cloud-config-server - 无法为主远程 : null merge 远程