Git子模块状态 - 如何在子模块中显示当前分支

时间:2016-01-27 11:58:49

标签: git git-submodules

使用以下命令检查主存储库中子模块的状态:

git submodule status

产生输出(没有关于分支的明确信息):

491e03096e2234dab9a9533da714fb6eff5dcaa7 vendor/submodule1 (v1.51.0-560-g491e030)
8bccab48338219e73c3118ad71c8c98fbd32a4be vendor/submodule2 (v1.32.0-516-g8bccab4)

是否可以在没有以下情况下检查子模块上的当前分支:

cd vendor/submodule1
git status
cd ../submodule2
git status

此命令不起作用:

git submodule status -b

2 个答案:

答案 0 :(得分:10)

答案隐藏在git submodule foreach

git submodule foreach 'git status'

您可以通过将其分配给别名来简化:

git config --global alias.sb "submodule foreach \"git status\""

现在git sb为您提供有关子模块中分支的详细信息:

Entering 'vendor/submodule1'
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
Entering 'vendor/submodule2'
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

答案 1 :(得分:1)

您可以运行git submodule status --recursive

它给出

  • 提交ID
  • 项目中子模块的路径
  • 分支名称