在特定的 utilities.jsx
下(在git存储库中),
我想要一个完整的文件列表:
<directory>
)。有一种简单的方法吗?
请注意,虽然.gitignore
确实列出了不忽略的未跟踪文件,但
它无法列出git存储库中任何未跟踪的子目录中的实际文件。
答案 0 :(得分:3)
是的,使用git ls-files
。
git ls-files -o --exclude-standard [directory]
.gitignore
,.git/info/exclude
和~/.gitignore_global
。这是一个示例git存储库,包含2个未跟踪的本地文件。这两个都在新添加的未跟踪目录中。其中一个未跟踪的文件与*.o
中指定的模式.gitignore
匹配。
~/linux-stable$ ls -lR kernel/untracked-dir/
kernel/untracked-dir/:
total 8
-rw-rw-r-- 1 cvs cvs 7 Sep 2 18:46 untracked-ignored-file.o
-rw-rw-r-- 1 cvs cvs 7 Sep 2 18:46 untracked-non-ignored-file.c
运行git status
只列出新的未跟踪子目录,而不是
~/linux-stable$ git status kernel/
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
kernel/untracked-dir/
nothing added to commit but untracked files present (use "git add" to track)
使用
git ls-files -o --exclude-standard
,我们得到:~/linux-stable$ git ls-files -o --exclude-standard kernel/untracked-dir/untracked-non-ignored-file.c
<强>即。未跟踪文件的实际列表(包括任何未跟踪目录中的文件)。