如果某个文件存在于那里,有没有办法从git中排除整个目录?
例如,我有很多测试用例,用_SUCCESS文件创建新目录。我想排除任何具有_SUCCESS文件的目录。我不关心其他文件是什么。
答案 0 :(得分:1)
据我所知,这是不可能的。
在阅读gitignore联机帮助页gitignore(5)后,我发现没有任何可能正则表示忽略。
创建测试目录并在该目录中运行测试并排除完整的测试目录可能更可靠 也许我错了,但没有办法像“排除if”,恕我直言,不是gitignore的哲学。
答案 1 :(得分:0)
" .gitignore"中列出的文件/目录列表在推入git存储库时排除了文件。 "的.gitignore" file接受静态文件/目录列表。因此,解决方案可用:
i)你可以创建一个目录" temp_success"以便您的测试用例尝试在" temp_success"中生成目录/文件。添加此目录" temp_success"进入.gitignore文件temp_success / *。
ii)运行测试用例后,编写脚本/代码以检查具有SUCCESS文件的目录并执行以下脚本以停止推入git存储库
git update-index --assume-unchanged path/to/file.txt
遵循以下参考: