由于某些特定原因,我有一个包含大量子模块的项目。我只是想知道每个子模块存在哪些分支。我知道我可以使用
初始化每个子模块git submodule update --init
并执行
git ls-remote --heads {URL}
在每个子模块上获取该子模块的当前现有分支(git branch -r还列出已经删除的分支)。但由于我们的项目存在许多子模块,因此上面的初始化需要在第一次运行时花费大量时间。有没有办法在不初始化子模块的情况下获取现有分支?
答案 0 :(得分:2)
如" List submodules in a git repository"中所述,您可以直接从.gitmodules
文件中获取网址。
grep url .gitmodules | sed 's/.*= //'
提取网址后,您可以执行git ls-remote --heads {URL}
,而无需初始化子模块。