我的项目如下:
的.gitignore:
/node_modules
/dist
/.tmp
/.sass-cache
.sass-cache
/bower_component
不知道为什么,但.sass-cache
仍在上演:
User@User-PC MINGW64 /e/alex/istagingadmindashboard/frontEnd (deve)
$ git add .
User@User-PC MINGW64 /e/alex/istagingadmindashboard/frontEnd (deve)
$ git status
On branch deve
Your branch is up-to-date with 'remotes/origin/deve'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: .sass-cache/a1ee9da9874bbf1b217c6f2a5cd8c2c7c5ee78fe/main.scssc
modified: app/scripts/building/uploadPage.js
modified: app/styles/main.scss
modified: app/views/building/uploadproject.html
为什么有任何想法?
答案 0 :(得分:11)
{1}}文件可能在该特定文件夹的内容被暂存后更新。要完成圈子,请执行.gitignore
。
另外,git rm -r --cached .sass-cache/
只需要一个条目;最好是在前面或末尾用斜线表示它作为目录。
答案 1 :(得分:5)
问题是您已将文件夹.sass-cache上传到服务器。你看到它说modified
。你必须这样做:
git rm .sass-cache/*
git commit -a -m "removed folder"
git push origin master
下次执行git status
时,您将看不到该文件夹。
此外,您无需同时添加
/.sass-cache
.sass-cache
只有最后一个就够了
答案 2 :(得分:3)
git已经跟踪了这些文件,因此.gitignore
对这些文件没有影响。但是,新的未跟踪文件将被忽略。有关详细信息,请参阅the gitignore documentation。
答案 3 :(得分:0)
来自维基:
如果您已经签入了文件,并且想要忽略它,那么如果稍后添加规则,Git将不会忽略该文件。在这些情况下,您必须首先在终端中运行以下命令来解除文件:
git rm --cached
答案 4 :(得分:0)
如果您想从您的repo中删除已经提交的sass-cache文件 - 并且是在Linux上。您可以从repo文件的根目录在终端中运行find命令:
$_ `find . -name "*.scssc" -exec git rm -f {} \;`
之后提交:
$_ git commit -m "Remove .scssc cache files."
然后使用$_ nano .gitignore
将这些行添加到.gitignore:
styles/.sass-cache/*
styles/.sass-cache
.sass-cache/
*.css.map