Git:如何获取所有未跟踪文件的列表,而忽略未跟踪子模块?

问题描述 投票:0回答:1

在脚本中,我要检查Git存储库是否干净。如果不干净,应将更改隐藏起来。对于检查,我正在使用:

git diff-index HEAD --

以找出修改的跟踪文件和:

git ls-files --others

找出是否存在未跟踪的文件。不幸的是,git ls-files --others还将报告无法隐藏的未跟踪子模块。

是否有某些选项或其他Git命令返回与git ls-files --other相同的结果未跟踪子模块除外]

git git-submodules
1个回答
0
投票

git无法看到未跟踪的目录是否<>成为子模块。它只是一个未跟踪的目录。您可能会检查.git子目录,以检查该未跟踪的目录是否实际上是git信息库;类似于:

for untracked in $(git ls-files --others) do if [ ! -e $untracked/.git ] then echo $untracked fi done

将打印不是git存储库的未跟踪文件/目录。
© www.soinside.com 2019 - 2024. All rights reserved.