显示版本控制的文件,否则当前.gitignore将忽略这些文件

时间:2016-03-23 14:29:58

标签: git gitignore

标题说明了一切。

举一个简单的例子:在时间t1,存储库包含扩展名为.A.B的文件。在稍后的时间t2,我们决定向.B文件添加.gitignore个扩展名。我想列出目前处于版本控制范围内的扩展名为.B的文件(不要删除它们,只是为了知道它们是否/在哪里)。

当然,在我的情况下,它不只是一个扩展名,而是添加到.gitignore的许多不同模式。对于一般维护目的而言,它也是有用的东西。

注意:我对未受版本控制的被忽略文件不感兴趣,我知道您可以使用git status -i列出这些文件。

2 个答案:

答案 0 :(得分:2)

这应该可以为您完成工作,因为您提到文件已经受版本控制 - 如果它们是新的,那么只需将--others添加到命令中。

git ls-files -i --exclude-standard

答案 1 :(得分:0)

您不必将它们添加到.giignore,您也可以使用它:

- [无糖]假设-不变

  

指定此标志时,不会更新为路径记录的对象名称。

     

相反,此选项设置/取消设置"假设未更改"路径的位。

     

当"假设不变"如果位为on,则用户承诺不更改文件并允许Git假定工作树文件与索引中记录的文件匹配。如果要更改工作树文件,则需要取消设置该位以告知Git。当在具有非常慢的lstat(2)系统调用(例如cifs)的文件系统上处理大项目时,这有时很有用。

     

如果需要在索引中修改此文件,Git将失败(优雅地),例如合并时提交;因此,如果上游更改了假定未跟踪文件,则需要手动处理该情况。

如果您需要打印标有--assume-unchanged标志的文件列表:

git ls-files -v|grep '^h'

enter image description here