由于某些特定原因,我有一个包含许多子模块的项目。我只想知道每个子模块存在哪些分支。我知道我可以用
初始化每个子模块git submodule update --init
并执行
git ls-remote --heads {URL}
在每个子模块上获取该子模块当前存在的分支(gitbranch -r 还列出了已删除的分支)。但由于我们的项目存在许多子模块,因此上述初始化在第一次运行时需要大量时间。有没有办法在不初始化子模块的情况下获取现有分支?
最佳答案
正如“List submodules in a git repository”中提到的,您可以直接从.gitmodules
文件中获取url。
grep url .gitmodules | sed 's/.*= //'
提取 URL 后,您可以执行 git ls-remote --heads {URL}
而无需初始化子模块。
关于git - 如何列出 git 子模块的现有分支(无需先初始化它)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25060648/