我一直有一个关于.gitignore没有忽略我的node_modules目录的问题。
这是我的.gitignore文件:
*~
~*
*.log
images/
images/*
images/**/*
.idea/
.idea/*
import_errors/
output/
output/*
node_modules/
node_modules/*
uploads/
downloads/
tmp/
.DS_Store
!.keep
!*/我还尝试运行命令来更新git-index并从索引中删除该文件夹
$ git rm --cached node_modules
fatal: pathspec 'node_modules' did not match any files
$ git update-index --assume-unchanged node_modules
fatal: Unable to mark file node_modules通常我只会发出这两个命令,但我一直收到这些错误。第一个命令用于取消文件的暂存,第二个命令用于更新git索引以停止跟踪该文件。但由于某种原因,这种情况没有发生,我不知道还有什么地方可能是错的。
发布于 2012-09-13 00:32:00
在仔细检查了gitignore文件之后,我找到了答案。原来我的最后一条规则是:
!*/这意味着项目根目录下的所有文件夹都应该保留。在我完全理解git是如何工作的之前,我很久以前就这样做了。它的目的是让某些文件夹留在那里,但只是空着,里面没有内容。但这就是上面的规则,这个规则不需要存在。
因此,删除这一行并执行$ git rm --cached node_modules可以解决这个问题。该命令将其从临时区域中删除,然后更新索引,因此您不必运行第二个命令$ git update-index --assume-unchange。
https://stackoverflow.com/questions/12391690
复制相似问题