如何列出git子模块的现有分支(不首先初始化)?

时间:2014-07-31 13:51:19

标签: git branch git-submodules

由于某些特定原因,我有一个包含大量子模块的项目。我只是想知道每个子模块存在哪些分支。我知道我可以使用

初始化每个子模块
git submodule update --init

并执行

git ls-remote --heads {URL} 

在每个子模块上获取该子模块的当前现有分支(git branch -r还列出已经删除的分支)。但由于我们的项目存在许多子模块,因此上面的初始化需要在第一次运行时花费大量时间。有没有办法在不初始化子模块的情况下获取现有分支?

1 个答案:

答案 0 :(得分:2)

如" List submodules in a git repository"中所述,您可以直接从.gitmodules文件中获取网址。

grep url .gitmodules | sed 's/.*= //'

提取网址后,您可以执行git ls-remote --heads {URL},而无需初始化子模块。