在脚本中,我要检查Git存储库是否干净。如果不干净,应将更改隐藏起来。对于检查,我正在使用:
git diff-index HEAD --
以找出修改的跟踪文件和:
git ls-files --others
找出是否存在未跟踪的文件。不幸的是,git ls-files --others
还将报告无法隐藏的未跟踪子模块。
是否有某些选项或其他Git命令返回与git ls-files --other
相同的结果未跟踪子模块除外]
git
无法看到未跟踪的目录是否<>成为子模块。它只是一个未跟踪的目录。您可能会检查.git
子目录,以检查该未跟踪的目录是否实际上是git
信息库;类似于:
for untracked in $(git ls-files --others)
do
if [ ! -e $untracked/.git ]
then
echo $untracked
fi
done
将打印不是git存储库的未跟踪文件/目录。