“如何执行”;“git状态”;跨多个子模块

“如何执行”;“git状态”;跨多个子模块,git,status,git-submodules,Git,Status,Git Submodules,我有一个包含几个子模块的git存储库。当我在父模块中执行git status时,它只显示该级别的更改,我需要cd进入每个子模块,并在每个模块中分别执行git status。是否有更好的方法来执行此操作,以便我可以在顶层执行git status,并查看所有子模块的更改 Mygit--version返回: git版本1.7.9.6(Apple git-31.1) git对子模块一无所知。它只是将dir树作为一个完整的存储库。一个正确安装的git副本,当您运行“git状态”时,它应该显示对存储库的所有

我有一个包含几个子模块的git存储库。当我在父模块中执行
git status
时,它只显示该级别的更改,我需要
cd
进入每个子模块,并在每个模块中分别执行
git status
。是否有更好的方法来执行此操作,以便我可以在顶层执行
git status
,并查看所有子模块的更改

My
git--version
返回:

git版本1.7.9.6(Apple git-31.1)


git对子模块一无所知。它只是将dir树作为一个完整的存储库。一个正确安装的git副本,当您运行“git状态”时,它应该显示对存储库的所有更改。 但是,如果您的子模块属于不同的存储库,则没有正式的方式显示所有更改。(可能编写一些脚本)


您可以将其转换为Git别名,以避免每次都必须键入它。

很好。这接近于我所需要的,它列出了每个子存储库中的更改,尽管没有新行来分隔发生更改的文件名,尽管每个子模块都用新行正确分隔。如果您可以将文件名分开,我将接受答案。实际上,由于
子模块foreach
已经指示了它进入每个子模块的时间,您可能可以忽略路径echo,这将解决换行问题。在这里,我将编辑它。
git submodule foreach --recursive 'git status && echo'