git - 如何列出 git 子模块的现有分支(无需先初始化它)?

标签 git branch git-submodules

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

初始化每个子模块
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/

相关文章:

svn - v1.6 中重新集成 Subversion 分支

git - 获取最终分支列表(这是最终提示)

推送 : object 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22:contains entries pointing to null 时出现 Git 错误

git - 更改 git 模块分支

git - 浅克隆后浅 pull

linux - 找不到我的 git 存储库 url

git - 如何搜索我的 git 别名?

git - 撤消对裸 git 存储库的推送

version-control - 源代码管理中的分支和合并

windows - 如何跟踪不同目录中的 git 存储库?