You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出所有Git子模块的URL?实现类似git remote get-url origin的操作

列出所有Git子模块URL的几种方法

好问题!要批量获取所有Git子模块的远程URL,其实不用手动逐个查看,Git本身就提供了便捷的命令来实现。下面是几个实用的方法,你可以根据需求选择:

方法一:实时获取每个子模块当前的远程URL(最准确)

这个方法会遍历每个子模块,直接执行git remote get-url origin命令,能拿到子模块当前实际使用的远程地址,包括嵌套子模块(如果有的话):

git submodule foreach --recursive 'git remote get-url origin'
  • 去掉--recursive参数的话,只会列出顶层的子模块,不会深入嵌套的子模块。
  • 执行后会先显示子模块的路径,然后输出对应的URL,一目了然。

方法二:直接查看项目的子模块配置文件

项目根目录下的.gitmodules文件存储了所有子模块的初始配置信息,包括URL,你可以直接用cat命令查看:

cat .gitmodules

这个方法的优点是速度快,但要注意:如果某个子模块后来修改了远程URL但没同步更新.gitmodules文件,这里显示的会是最初配置的URL,不是当前实际使用的。

方法三:通过Git配置列表提取URL

Git会把.gitmodules里的配置同步到自己的配置系统中,你可以用git config命令过滤出所有子模块的URL:

git config --file .gitmodules --get-regexp url

输出格式会是submodule.<子模块名称>.url <对应的远程URL>,适合需要结构化提取信息的场景。

内容的提问来源于stack exchange,提问作者gyuunyuu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 08:32:41