列出.gitignore未忽略的所有文件

edi*_*999 5 git file list

我想列出.gitignore不会忽略的所有文件,例如我的存储库的所有源文件.

ag 默认情况下做得很好,但我不知道一种无需安装其他软件即可使用的方法.

git ls-files没有选项工作得很好,但没有考虑已修改/创建的文件,例如,如果我创建一个新的文件栏而不提交它,git ls-files则不显示该文件.

PSk*_*cik 9

git status --short| grep  '^?' | cut -d\  -f2- 
Run Code Online (Sandbox Code Playgroud)

会给你未跟踪的文件.

如果你将它与它结合起来git ls-files,那么你就拥有了所有未标记的文件:

( git status --short| grep '^?' | cut -d\  -f2- && git ls-files ) | sort -u
Run Code Online (Sandbox Code Playgroud)

然后你可以过滤

( xargs -d '\n' -- stat -c%n 2>/dev/null  ||: )
Run Code Online (Sandbox Code Playgroud)

仅获取可统计的文件(==在磁盘上).