使用SASS和Git,我会忽略哪些文件以及如何?

Jos*_*eau 25 css git sass

我的/project目录中有一个框架,我有多个.sass-cache文件夹.

例如,我可以拥有这个

/project/-/-/one/.sass-cache
Run Code Online (Sandbox Code Playgroud)

还有这个

/project/-/-/two/.sass-cache
Run Code Online (Sandbox Code Playgroud)

还有这个

/project/three/.sass-cache
Run Code Online (Sandbox Code Playgroud)

我想添加所有的.gitignore.我试过这个:

# Sass #
###########
*.sass-cache*
Run Code Online (Sandbox Code Playgroud)

但它失败了,而且git仍然接受了它们的变化.如何将我的.sass-cache文件夹正确添加到我的.gitignore文件中?

edd*_*oya 40

使用时.gitignore,单个星号只是特定目录的通配符.如果你的git版本是最新的,你应该能够使用双星号来表示任何级别的子目录.

单个星号将仅匹配该目录深度的文件

foo/*/* == foo/bar/file.xyz
foo/*/* != foo/bar/dir/file.xyz
foo/*/* != foo/file.xyz
Run Code Online (Sandbox Code Playgroud)

两个星号匹配任何目录深度

foo/** == foo/bar/file.xyz
foo/** == foo/bar/dir/file.xyz
foo/** == foo/file.xyz
Run Code Online (Sandbox Code Playgroud)

对于您的情况,我建议尝试以下...

**/.sass-cache
**/.sass-cache/*
Run Code Online (Sandbox Code Playgroud)

最后,我不知道它是否有用,但你也可以试试......

**.sass-cache**
Run Code Online (Sandbox Code Playgroud)

在最后一个,我不确定如何解释双星号.这上面的两行应该可以正常工作.

  • `**.sass-cache**'在我的WordPress主题中完美地为我工作 (2认同)

chi*_*len 20

我只是用

.sass-cache
.sass-cache/*
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常.

  • 这应该足够了,但请记住,如果已经跟踪了此目录,则需要删除该目录.看看它是否使用`git ls-tree -r master --name-only`进行跟踪.用`git rm -r --cached ./.sass-cache`取消它 (4认同)