【问题标题】:How do I do a 'git status' so it doesn't display untracked files without using .gitignore?如何在不使用 .gitignore 的情况下执行“git status”以不显示未跟踪的文件?
【发布时间】:2009-02-27 13:34:34
【问题描述】:

如何在不使用.gitignore 的情况下使用git status 使其不显示未跟踪的文件?我只想获取跟踪文件的修改状态信息。

【问题讨论】:

  • 每个用户的偏好会有所不同,但您可以比较 3 个不同状态调用的输出,它可能会激发您编写解决方案的脚本。 vimdiff <(git status --untracked-files=no) <(git status) <(git status --untracked-files)

标签: git version-control


【解决方案1】:

使用这个:

git status -uno

相当于:

git status --untracked-files=no

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

【讨论】:

  • 你在哪里写这个?进入终端还是进入文件?
  • 这是命令行操作;不是 git 配置文件编辑。
  • 如果我已经完成了, git reset --hard ,然后我 git status -uno,什么都没有显示,只显示未跟踪的文件
【解决方案2】:

还有:

git config status.showuntrackedfiles no

【讨论】:

  • 这对于一个总是有未跟踪文件的仓库来说非常有用,比如在你的主目录中的点文件。
  • 戴夫,也许.gitignore 列表最适合“已知未知数”,而您可能希望看到"unknown unknowns" 重新弹出。
【解决方案3】:

请注意,由于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 status documentation 现在声明:

当不使用-u 选项时,会显示未跟踪的文件和目录(即与指定normal 相同),以帮助您避免忘记添加新创建的文件。
因为它需要额外的努力在文件系统中查找未跟踪的文件,此模式可能需要一些时间 在一棵大型工作树上的时间。
您可以使用nogit status 更快返回,而不会显示未跟踪的文件

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

【讨论】:

  • @Tshepang 谢谢。我已经编辑了答案以包含正确的链接,并添加了引入所述更改的确切提交。
  • 我是 git 新手 - 你能告诉我在哪里写这些命令来不显示未跟踪的文件吗?我尝试将它们写入终端,但仍显示未跟踪的文件。
  • @FrenkyB 您在终端中准确输入了什么(顺便说一下,哪个操作系统?您使用的是哪个 git 版本?)
  • OS = Windows 10 Pro,源代码树版本 = 1.9.10.0,如何查看 GIT 版本?我在终端中输入的是: git commit -u --untracked-files=no。我仍然在源代码树中看到这些文件。
猜你喜欢
  • 2019-10-30
  • 1970-01-01
  • 1970-01-01
  • 2011-06-04
  • 2015-05-07
  • 1970-01-01
  • 2020-11-23
  • 2013-04-24
  • 1970-01-01
相关资源
最近更新 更多