Git:列出应该被忽略的文件,但不是

时间:2015-10-21 16:12:43

标签: git shell gitignore

注意:

这不是像git rm -r --cached . && git add .那样修复我实际上只想列出文件。

为什么:

有时当我编辑我的.gitignore并忘记上面的命令时,我最终会得到仍在存储库中的文件,但应该被忽略。

什么:

我想要完成的是编写一个shell脚本,它能够列出我的文件系统中should被忽略但仍然存在的所有文件。

结果:

最后,我想将它实现到一个持续集成服务器,它将检查.gitignore中的规则是否与存储库中的文件匹配。

有没有办法手动解析.gitignore

2 个答案:

答案 0 :(得分:6)

git ls-files --cached --ignored --exclude-standard

答案 1 :(得分:-1)

您应该查看git check-ignore --help您可以使用它来检查是否应包含或排除路径。根据我的理解,要做你想做的事,你应该使用--no-index选项。

这至少是该过程的git方。

该过程的shell方面将涉及更多。你有很多选择。你可以使用find来列出所有文件并管道它们git check-ignore,并根据它的输出创建一个应该被排除的文件列表。

无论如何,这是我的2¢。

这是一个SO问题,涵盖类似Git command to show which specific files are ignored by .gitignore

的内容