git ls-files 是否打印当前工作目录中的文件

git ls-files 是否打印当前工作目录中的文件

有人告诉我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

相关内容