使用Git和SASS,我应该忽略哪些文件,如何忽略?
使用Git和SASS,我应该忽略哪些文件,如何忽略?
我在我的/project
目录中有一个框架,其中包含多个.sass-cache
文件夹。
例如,我可能有这个
/project/-/-/one/.sass-cache
以及这个
/project/-/-/two/.sass-cache
还有这个
/project/three/.sass-cache
我想将它们全部添加到.gitignore中。
我尝试了这个:
# Sass # ########### *.sass-cache*
但它失败了,git仍然捕捉到其中的更改。如何正确地将我的.sass-cache
文件夹添加到.gitignore
文件中?
使用SASS和Git时,需要忽略哪些文件以及如何忽略的问题。
Git是一个版本控制系统,用于跟踪和管理代码的变化。使用Git可以方便地协同开发和保持代码的完整性。而SASS是一种CSS预处理器,它允许开发者使用更加灵活和可维护的方式编写CSS代码。
在使用SASS和Git时,我们需要考虑哪些文件应该被Git跟踪,以及哪些文件应该被忽略。通常情况下,我们希望Git只跟踪源代码文件,而忽略编译后的文件。因为编译后的CSS文件可以通过源代码重新生成,所以不需要将其包含在Git仓库中。
解决这个问题的方法是在项目的根目录下创建一个名为`.gitignore`的文件,并将需要忽略的文件添加到该文件中。对于使用SASS的项目,我们应该将编译后的CSS文件添加到`.gitignore`中。
在上述问题中,建议将`**.css.map`添加到`.gitignore`文件中。`.css.map`文件是SASS编译生成的源映射文件,用于在浏览器中调试SASS源代码。由于这个文件是根据源代码生成的,所以不需要将其包含在Git仓库中。
要将`**.css.map`添加到`.gitignore`文件中,可以按照以下步骤进行操作:
1. 在项目的根目录下创建一个名为`.gitignore`的文件,如果已经存在则忽略此步骤。
2. 打开`.gitignore`文件,并在其中添加一行代码:**.css.map
。
3. 保存`.gitignore`文件并关闭。
完成上述步骤后,Git将忽略所有后缀为`.css.map`的文件,并不会将其包含在Git仓库中。这样可以确保在协同开发或进行版本控制时,不会出现冗余的或不必要的文件。
总结一下,使用SASS和Git时,我们应该将编译后的CSS文件添加到`.gitignore`文件中,以确保Git不会跟踪这些文件。对于SASS项目,建议将`**.css.map`文件添加到`.gitignore`中,以避免将源映射文件包含在Git仓库中。这样可以保持代码的整洁性和可维护性,同时提高协同开发的效率。
在使用SASS和Git时,有一个问题是如何正确地忽略文件。在这个讨论中,某些情况下了他们使用以下代码作为git ignore文件的一部分来忽略.sass-cache目录:
.sass-cache .sass-cache/*
然而,有人指出他们的.sass-cache目录比git ignore文件所在的目录深得多。因此,他们想知道是否需要清除某个缓存的git树,以便让Git忘记在这些目录中可能已经注意到的更改。
有人建议查看这个链接的答案:[stackoverflow.com/questions/5810233/…](http://stackoverflow.com/questions/5810233)。
另外,有人指出仅仅忽略.sass-cache目录可能不够,如果该目录已经被跟踪,则需要将其取消跟踪。可以使用以下命令检查.sass-cache目录是否已被跟踪:git ls-tree -r master --name-only
,然后使用git rm -r --cached ./.sass-cache
命令将其取消跟踪。
在使用SASS和Git时,为了正确地忽略.sass-cache目录,需要将以下代码添加到git ignore文件中:.sass-cache
和.sass-cache/*
。如果.sass-cache目录已被跟踪,还需要使用git rm -r --cached ./.sass-cache
命令将其取消跟踪。
问题的原因是在使用SASS和Git时,需要忽略一些文件,但是在.gitignore文件中使用单个星号只能匹配特定目录下的文件,不能匹配任意层级的子目录。解决方法是使用双个星号来表示任意层级的子目录。对于这个问题,建议尝试以下方法:
**/.sass-cache **/.sass-cache/*
另外,也可以尝试以下方法:
**.sass-cache**
这个方法中的双个星号的解释不确定,但是前面两行代码应该可以正常工作。如果以上方法仍然不起作用,可以参考stackoverflow.com上的相关问题。
在我的WordPress主题中,使用了**.sass-cache**这个方法解决了问题。