如果git中存在某个文件,有没有办法将整个目录排除在外?例如,我有很多测试用例用一个成功文件创建新目录。我想排除任何有\u成功文件的目录。我不在乎里面还有什么文件。
w7t8yxp51#
“.gitignore”文件中列出的文件/目录列表在推入git存储库时被排除。gitinore“文件接受文件/目录的静态列表。因此,可提供以下解决方案:i) 您可以创建一个目录“temp\u success”,以便您的测试用例尝试在“temp\u success”中生成目录/文件。将此目录“temp\u success”添加到.gitinore文件temp\u success/*中。ii)在运行测试用例之后,编写一个脚本/代码来检查包含成功文件的目录,并执行以下脚本以停止推入git存储库
git update-index --assume-unchanged path/to/file.txt
请参考:https://help.github.com/articles/ignoring-files
lf3rwulv2#
据我所知,那是不可能的。在阅读了gitignore手册页gitignore(5)之后,我没有发现任何将regex作为ignore的可能性。也许创建一个测试目录并在该目录中运行测试并排除完整的测试目录更可靠。也许我错了,但没有办法像“排除如果”,这是我不忽略的哲学。
2条答案
按热度按时间w7t8yxp51#
“.gitignore”文件中列出的文件/目录列表在推入git存储库时被排除。gitinore“文件接受文件/目录的静态列表。因此,可提供以下解决方案:
i) 您可以创建一个目录“temp\u success”,以便您的测试用例尝试在“temp\u success”中生成目录/文件。将此目录“temp\u success”添加到.gitinore文件temp\u success/*中。
ii)在运行测试用例之后,编写一个脚本/代码来检查包含成功文件的目录,并执行以下脚本以停止推入git存储库
请参考:
https://help.github.com/articles/ignoring-files
lf3rwulv2#
据我所知,那是不可能的。
在阅读了gitignore手册页gitignore(5)之后,我没有发现任何将regex作为ignore的可能性。
也许创建一个测试目录并在该目录中运行测试并排除完整的测试目录更可靠。
也许我错了,但没有办法像“排除如果”,这是我不忽略的哲学。