我想列出当前在git存储库中跟踪的文件。
所以,我做git ls-files
。但是这样做,给我整个列表,包括所有子目录,它们的子目录等等。
我不想要这个。有没有办法可以指定ls-files
命令的输出深度?
假设我有一个git repo:
mainrepo/
sub-dir1
subdir1.1
subdir1.1.1
sub-dir2
我只想深入探讨1,坚持下去。这意味着我只想要ls文件输出
sub-dir1
sub-dir2
答案 0 :(得分:2)
一种有点基本的方法是将每一行删除(包括)一个可选的/
字符,然后从中获取唯一的行:
$ git ls-files | cut -f1 -d/ | uniq
(请注意,我还没有亲自测试,因为我在Windows上使用有限的Bash shell。)