【问题标题】:Is there a way to tell git-status to ignore the effects of .gitignore files?有没有办法告诉 git-status 忽略 .gitignore 文件的影响?
【发布时间】:2010-06-08 03:29:02
【问题描述】:

我已经配置了许多 .gitignore 文件,以从一组大约 6,000 个未跟踪文件中过滤掉许多不同的不需要的文件。当我的过滤列表看起来像我想要的那样时,我想做git add .

但是,然后我想暂时禁用 .gitignore 过滤器以查看留下了什么,并确保没有任何重要的意外过滤。

我知道git-clean 包含一个忽略.gitignore files 的选项。 git-status 有类似的选项吗?

我可以检查并删除所有.gitignore 文件,进行检查,然后恢复它们,但似乎应该有更简单的方法?

【问题讨论】:

    标签: git gitignore git-status


    【解决方案1】:

    这个选项--ignored 可以解决问题:

    git status --ignored
    



    (更新 1)我发现单独的 --ignored 选项在某些 git 安装中不起作用,也许这是一个 git 错误。在这些情况下,额外的-s 对我有用:

    git status -s --ignored
    

    (更新 2) 一位用户报告说 git 版本 1.7.0.4 不支持 --ignored 选项。我的 git 版本是 1.7.6。另一个版本 1.7.5.1 是需要 -s 的版本。你可以试试

    git status -h
    

    查看是否支持--ignored

    【讨论】:

    • +1 这个必须被接受的答案!!! man git status 没有记录 --ignored 选项。顺便说一句,git 1.8.4 支持--ignored
    • 嗨。这是我发现最实用的一个。我特别高兴它确认了 Dart 排除了 Windows Junction 文件类型。如果您想显示将包含的内容,我还会添加进一步的预添加检查:“git add -A -n -v .”。
    【解决方案2】:

    尝试使用git ls-files --other - 它应该列出所有 git 不知道的文件;即那些不在存储库中且未被.gitignore 忽略的文件。

    您还可以使用git ls-files --ignored --exclude-standard 来查看 git 明确忽略的文件。

    【讨论】:

    • 感谢您的回复 - 'git-ls-files --other' 似乎也列出了被忽略的文件。如果您使用分布式 .gitignore 文件,第二个命令是否有效?例如。位于子目录树不同级别的单独 .gitignore 文件?您是否必须为树中的每个 .gitignore 指定 --exclude-from= ?这需要一个狡猾的 find 命令。
    • 显然您可以使用 --exclude-standard 从每个子目录中读取 .gitignore 文件。请参阅此处:stackoverflow.com/questions/466764/show-ignored-files-in-git 我将更新我的答案以适应。
    • --exclude-standard 很有用-谢谢。
    • 谢谢!为了影响索引,我要提一下,这是我在搜索临时覆盖gitignore时想要的。
    • --other 列出无版本文件,并忽略无版本文件,--ignored --exclude-standard 忽略版本。我错过了什么吗?
    【解决方案3】:

    git clean -dXn

    见:Git command to show which specific files are ignored by .gitignore

    其实这个问题好像是重复的!

    【讨论】:

    • 不,它们是不同的。这个问题专门询问如何使用git-status
    • 形式上它们可能不同。但是,如果您只关注问题的形式而忽略问题背后的基本原理和动机,那么您将不会很有帮助。
    • Made it community wiki,因为这不是我的答案,只是指向其他人答案的链接。
    猜你喜欢
    • 2015-01-07
    • 1970-01-01
    • 2010-11-19
    • 2012-11-30
    • 1970-01-01
    • 2020-06-30
    • 2011-02-06
    • 2013-08-31
    • 1970-01-01
    相关资源
    最近更新 更多