有人告诉我git ls-files
打印当前工作目录中的文件。假设我有一个名为 MyFolder 的目录,然后我创建了一个新文件HelloWorld.cs
(我没有使用git add
添加此文件),然后我运行git ls-files
它,但它没有显示HelloWorld.cs
。但从技术上讲,HelloWorld.cs
是在当前工作目录(MyFolder)中,那么为什么它没有显示呢?
答案1
git ls-files
可以打印各种内容。默认情况下,如果-c
选择此选项,它会打印索引中的文件。由于您以前没有将git add
文件添加到索引中,因此该文件未被跟踪,默认情况下不会打印。
如果要打印所有未跟踪的文件,您可以运行git ls-files -o
查看未跟踪的文件,或者git ls-files -co
同时打印索引中的文件和未跟踪的文件。 git ls-files --help
将向您显示所有可能的选项。
如果你只想打印工作树中的文件,可以使用find . -name '.git' -prune -o -print
。要仅打印当前目录中的文件,请使用find . -mindepth 1 -maxdepth 1 -name '.git' -prune -o -type f -print
。