3

gitignore 中的 ** 和 * 有点混乱。这是我在 .gitignore 中的内容:

*
!*.rst

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

我试过了

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

但这并没有改变任何东西。

4

2 回答 2

2

在您的 .gitignore 中尝试以下操作

*
!*.rst
!*/

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

于 2010-01-01T00:14:47.193 回答
0

如果您阅读此SO 答案,您将意识到 Git 忽略文件的方式是依赖于系统的。

gitignore手册页清楚地表明 glob 将不加更改地传递给系统的库fnmatch函数

那么您使用的是什么操作系统和 Git 发行版(Unix 或 Windows 上的 Msysgit)?
因为在 Windows 上,' **' 不能很好地工作(如果有的话)。

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

于 2009-12-31T21:06:45.710 回答