注意:
这不是像git rm -r --cached . && git add .
那样修复我实际上只想列出文件。
为什么:
有时当我编辑我的.gitignore并忘记上面的命令时,我最终会得到仍在存储库中的文件,但应该被忽略。
什么:
我想要完成的是编写一个shell脚本,它能够列出我的文件系统中should
被忽略但仍然存在的所有文件。
结果:
最后,我想将它实现到一个持续集成服务器,它将检查.gitignore
中的规则是否与存储库中的文件匹配。
有没有办法手动解析.gitignore
?
答案 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
的内容