我如何做一个git状态,使它不显示未跟踪的文件而不使用.gitignore?我只想获得跟踪文件的修改状态信息。


用这个:

git status -uno

这相当于:

git status --untracked-files=no

它在手册中有点隐藏,但是status的手册页说“支持与git-commit相同的选项”,所以这就是你必须去看的地方。


另外:

git config status.showuntrackedfiles no

请注意,从git 1.8.3 (April, 22d 2013)开始,即使你一开始没有添加这个选项,你也会知道——untracked-files=no !

“git status”建议用户在花费太长时间时使用——untracked-files=no选项。

参见commit https://github.com/git/git/commit/5823eb2b28696bf0eb25f6ca35b303447869f85:

在一些存储库中,用户体验到“git status”命令需要很长时间。 该命令花费一些时间在文件系统中搜索未跟踪的文件。 在讨论配置变量之前,请解释默认选择normal所带来的权衡,以帮助用户更好地做出适当的选择。

git状态文档现在声明:

当不使用-u选项时,将显示未跟踪的文件和目录(即与指定normal相同),以帮助您避免忘记添加新创建的文件。 因为在文件系统中查找未跟踪的文件需要额外的工作,所以这种模式可能需要一些工作 时间在一个大的工作树中。 你可以使用no来使git状态更快地返回,而不会显示未跟踪的文件。 可以使用状态更改默认值。在git配置中记录的showUntrackedFiles配置变量。