忽略除了.rst扩展名的所有文件?

3

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

*
!*.rst

这适用于根目录中所有*.rst文件。那么子目录中的.rst文件呢?
我尝试过。
*
!*.rst
!**/*.rst

但这并不改变任何事情。
2个回答

2
请将以下内容添加到您的 .gitignore 文件中:
*
!*.rst
!*/

这样做可以告诉Git不要忽略子目录。

我有完全相同的问题(只是扩展名不同),将其放入我的 .gitignore 文件中,仅会忽略所有内容。 - PandaWood

0

如果你阅读了这个SO答案,你会意识到Git忽略文件的方式是依赖于系统的。

gitignore手册清楚地说明了glob将不会被修改并传递给系统的fnmatch库函数

所以你使用的操作系统和Git发行版是什么(Unix还是Windows上的Msysgit)?
因为在Windows上,“**”不太好用(甚至根本不起作用)。

此外,请确保在.gitignore文件中声明之前,*.rst文件没有被添加到缓存中。它们需要从缓存中删除(并提交已清除的缓存),然后.gitignore才能按预期工作(另请参见这篇博客文章)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接