有没有简单的方法来复制 gitignore 工作原理背后的逻辑?

Any easy way to copy the logic behind how gitignore works?

我需要与 git 忽略文件相同的行为,但我自己的代码实际上并不涉及 git。我希望行为与 gitignore 完全匹配,但查看所有规则,这似乎很重要。

我在项目中有文件。当 运行 我的 Python 脚本时,它会对这些文件执行操作。我想要一个 .gitignore 文件,上面写着忽略文件的某些子集。

是否有一些简单的方法可以实现该行为,或者我是否需要从头开始编写?

如果您在 Git 存储库中工作,git check-ignore 会满足您的需要:

$ echo "foo.pyc" | git check-ignore --stdin --no-index
foo.pyc
$ echo "foo.py" | git check-ignore --stdin --no-index

否则,您将需要使用实现 Git 模式匹配格式的库。 pathspec 就是这样一种库。阅读文档以获取使用示例。