Eve*_*tss 6 git git-submodules
使用以下命令检查主存储库中子模块的状态:
git submodule status
Run Code Online (Sandbox Code Playgroud)
产生输出(没有关于分支的明确信息):
491e03096e2234dab9a9533da714fb6eff5dcaa7 vendor/submodule1 (v1.51.0-560-g491e030)
8bccab48338219e73c3118ad71c8c98fbd32a4be vendor/submodule2 (v1.32.0-516-g8bccab4)
Run Code Online (Sandbox Code Playgroud)
是否可以检查子模块上的当前分支,而无需:
cd vendor/submodule1
git status
cd ../submodule2
git status
Run Code Online (Sandbox Code Playgroud)
?
此命令不起作用:
git submodule status -b
Run Code Online (Sandbox Code Playgroud)
Eve*_*tss 13
答案隐藏在git submodule foreach:
git submodule foreach 'git status'
Run Code Online (Sandbox Code Playgroud)
您可以通过将此分配给别名来使其更简单:
git config --global alias.sb "submodule foreach \"git status\""
Run Code Online (Sandbox Code Playgroud)
现在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
Run Code Online (Sandbox Code Playgroud)