Gitignore所有文件除了那些带有.rst扩展名的文件?

时间:2009-12-31 20:36:02

标签: git gitignore

gitignore中的**和*有点令人困惑。以下是我在.gitignore中的内容:

*
!*.rst

这适用于根目录中的所有* .rst文件。子目录中的.rst文件怎么样?

我试过

*
!*.rst
!**/*.rst

但这并没有改变任何事情。

2 个答案:

答案 0 :(得分:2)

在.gitignore中尝试以下内容

*
!*.rst
!*/

这样你就告诉git不要忽略子目录。

答案 1 :(得分:0)

如果您阅读此SO answer,您将会意识到Git忽略文件的方式与系统有关。

  

gitignore manpage明确表示将未更改的glob传递给系统的fnmatch库函数

那么你使用的是OS和Git发行版(Unix或Windows上的Msysgit)? 因为在Windows上,“**”效果不佳(如果有的话)。

另外,在.gitignore文件中声明它们之前,请确保您的* .rst文件尚未添加到缓存中。在.gitignore按预期工作之前,需要将它们从缓存中移除(以及提交的清除缓存)(另请参阅此blog post