1

我想列出当前在 git 存储库中跟踪的文件。

所以,我愿意git ls-files。但是,这样做会给我整个列表,包括所有子目录、它们的子目录等等。

我不想要这个。有没有办法可以指定ls-files命令输出的深度?

假设我有一个 git repo:

mainrepo/
   sub-dir1
       subdir1.1
          subdir1.1.1
   sub-dir2

我只想深入 1 层。这意味着我只希望 ls-files 输出

sub-dir1
sub-dir2
4

1 回答 1

2

一种有点基本的方法是将每一行剥离到(并包括)一个可选/字符,并从中获得独特的行:

$ git ls-files | cut -f1 -d/ | uniq

(请注意,我还不能亲自对此进行测试,因为我在 Windows 上使用有限的 Bash shell。)

于 2012-06-04T19:15:41.423 回答