我在读http://www.kernel.org/pub/software/scm/git/docs/v1.7.10/gitignore.html,用来解释忽略模式的6个点似乎是描述了glob搜索语法的自定义变体。 我对Mercurial更加熟悉,它允许通过glob或regex模式明确地忽略,而不会问任何问题。混淆.gitignore语法
- Git中有没有类似的功能?
- 任何人都可以指出我比Git手册页更详尽的参考吗?
最佳,
牛逼
我在读http://www.kernel.org/pub/software/scm/git/docs/v1.7.10/gitignore.html,用来解释忽略模式的6个点似乎是描述了glob搜索语法的自定义变体。 我对Mercurial更加熟悉,它允许通过glob或regex模式明确地忽略,而不会问任何问题。混淆.gitignore语法
最佳,
牛逼
不完全。 它可以使用bash类似的语法,在那里你可以指定这样的东西:
*tmp_*~
是一样的正则表达式:.*tmp_.*~
希望这将帮助你!
不完全*什么*?请记住:您的答案不一定会以最初发布时的顺序出现,因此回复以前的答案或评论并不是一个好主意。此外,即使这个问题可能会被修改,其他答案可能会被删除。 – iconoclast 2012-06-20 20:47:01
你是对的,谢谢! 我忘了这个事实... – 2012-06-21 08:02:53
有通过正则表达式排除没有内置的方式。如果有的话,你可以在手册页上看到它。
正如我在你之前的回答中提到的http://stackoverflow.com/questions/2899875/git-add-not-working-with-png-files/2900049#2900049(以及克里斯约翰森在同一个问题中的细节),所有基于模式的文件选择委托给'fnmatch()'函数,不是这样。 – VonC 2010-05-25 17:54:11
不是真正的jefromi,'!pattern'否定匹配 – AD7six 2012-01-30 11:25:28
@ AD7six:是的,** gitignore模式不是正则表达式**。 – Cascabel 2012-01-30 15:21:23
所有通配符都是在某个级别自定义的 - 它与shell相关。据推测,Mercurial也提供了它自己的版本,根据用户的shell而改变行为没有什么意义。 – Cascabel 2010-05-25 16:55:43
谢谢,我已阅读您的其他答案http://stackoverflow.com/questions/2899875/git-add-not-working-with-png-files/2900049#2900049这有助于清理一些事情。 但是,上面的注释似乎与您和VonC的观察相矛盾,即Git会回复到用户的shell glob语法允许的任何内容。 在您的评论之后重新阅读时,手册页实际上提到排除依赖于fnmatch()和用户的shell(最后两点) – tmslnz 2010-05-25 18:16:01
我不认为这取决于用户的shell。这里的文档有点令人困惑,你说得对,但在任何一种情况下都使用fnmatch。该文档仅使用短语“shell glob”作为fnmatch的一个更易读的替代品。代码从未实际调用用户的shell。 – Cascabel 2010-05-26 13:31:05