git ls-files
还列出了子模块。
使用:在Git存储库中列出子模块 和 如何从另一个文件B删除在文件A中出现的行?,我可以做到:
git ls-files | grep -Fxvf <(git submodule status | cut -d' ' -f3)
或者更详细和多功能的:
git ls-files | while IFS='' read -r file; do
if [ -f "$file" ]; then
echo "$file"
fi
done
有没有一种更简单的方法,可以使用git命令或标志来实现呢?
git ls-files
显示它们似乎是完全合理的。我鼓励您考虑为git ls-files
实现一个--no-submodules
标志,并将补丁提交给git
;他们可能会接受它。 - larsks