我们正在为我们的包管理器使用自定义版本的composer。
我们添加到项目中的每个包实际上都是.git
个回购
当然,父repo会忽略这些文件夹(/ Vendor / packages /),当我写git status
时,它只显示当前repo的状态。
有没有办法在我的项目下检查.git repos的状态
我正在寻找类似git submodule foreach status
的内容。
答案 0 :(得分:0)
git status .
将显示当前文件夹及其子文件夹的文件状态,但不显示子模块的状态。
要列出子模块下的更改,您必须使用以下行:
# use the build in submodule foreach option
git submodule foreach --recursive git diff --name-status
git submodule foreach
[--recursive]
评估每个签出子模块中的任意shell命令 。如果给出
--recursive
,则子模块遍历递归(即,给定的shell命令也在嵌套的子模块中进行计算)。
答案 1 :(得分:0)
您可以在find
中使用Vendor/packages
个子目录,并在每个子目录上执行git status
。
find Vendor/packages -type d -maxdepth 1 -print -exec sh -c '(echo {} && cd {} && git status && echo)' \;
这是假设供应商/包下的所有文件夹都是git repos。
答案 2 :(得分:0)
你可以试试这个
git status directory_path
for ex
git status upload/