列出 repo 项目的所有 git 个子项目中的所有分支
List all branches in all git subproject of repo project
我有一个包含许多 git 子项目的大型回购项目。 (是AOSP)
我想在 repo 项目中到处找到特定的分支。
是否已经有一个命令来列出所有 git 子项目中的所有(或匹配的)分支,或者它是否需要一些脚本?
git 子模块支持这样的命令吗?
预期输出示例:
sub/project1:main
sub/project1:v1
sub/project2:main
sub/project2:v1
...
git 个子模块有 foreach
命令。见 submodule documentation.
您可以使用 git submodule foreach 'git branch'
列出所有分支以获得每个子模块的所有本地分支的列表。
解决方案:
repo forall -p -c git for-each-ref --format="%(refname:short)" refs/heads/*
“repo forall -p”的一个不错的功能,它仅在子命令有输出时才打印子项目路径。因此,不打印回购常见的没有分支的路径。仅打印具有本地分支的路径!
"git for-each-ref ..." 打印分支的原始列表
我有一个包含许多 git 子项目的大型回购项目。 (是AOSP) 我想在 repo 项目中到处找到特定的分支。 是否已经有一个命令来列出所有 git 子项目中的所有(或匹配的)分支,或者它是否需要一些脚本? git 子模块支持这样的命令吗?
预期输出示例:
sub/project1:main
sub/project1:v1
sub/project2:main
sub/project2:v1
...
git 个子模块有 foreach
命令。见 submodule documentation.
您可以使用 git submodule foreach 'git branch'
列出所有分支以获得每个子模块的所有本地分支的列表。
解决方案:
repo forall -p -c git for-each-ref --format="%(refname:short)" refs/heads/*
“repo forall -p”的一个不错的功能,它仅在子命令有输出时才打印子项目路径。因此,不打印回购常见的没有分支的路径。仅打印具有本地分支的路径!
"git for-each-ref ..." 打印分支的原始列表