4

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

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

我原以为这与它向下的层数有关,但是其他子目录中的其他未跟踪文件与相同层数(或更多)的距离没有任何问题。

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

4

1 回答 1

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中记录的配置变量更改默认值。

于 2015-01-21T03:19:43.943 回答