当 git 只显示包含未跟踪文件的目录而不显示文件本身时,这意味着什么?

Wil*_*n F 4 git subdirectory git-status

git 的相对新手,所以这可能是非常基本的东西。另一方面,我在询问之前搜索了很多这个答案。

在我的 git 存储库中,如果我在特定子目录(比主存储库目录低几级)中创建任何文件并运行git status,git 不会列出该目录中的文件,而只列出其名称。

我原以为这与它向下的级别有关,但是其他子目录中与级别相同(或更多)的其他未跟踪文件被列出而没有任何问题。

任何人都知道某个文件中是否有某些设置或某些条目会导致这种行为?

mga*_*aia 5

由于性能原因,默认情况下它不会显示未跟踪目录中的文件 - 它应该ls显示未跟踪目录,因为git它的内容没有索引。

来自git help status

-u[<mode>]

--untracked-files[=<mode>]

显示未跟踪的文件。

mode参数是可选的(默认为all),用于指定对未跟踪文件的处理。

可能的选项是:

no - 不显示未跟踪的文件

normal - 显示未跟踪的文件和目录

all - 还显示未跟踪目录中的单个文件。

-u不使用选项,未跟踪文件和目录显示(即等同于指定normal),以帮助用户避免忘记添加新创建的文件。因为在文件系统中查找未跟踪的文件需要额外的工作,所以这种模式在大型工作树中可能需要一些时间。您可以使用nogit status回报更快,而不显示未跟踪文件。

可以使用git-config(1) 中status.showUntrackedFiles记录的配置变量更改默认值。

  • 因此,对于那些在家玩的人来说,更改为预期行为的命令的确切语法是“git config --global status.showuntrackedfiles all” (3认同)