今天在做项目的时候,偶然遇到这样一个问题,Node的node_modules目录下的文件正常是不提到版本库的,但是我们自建了私有的npm版本库之后,私有的package是需要提交到git上,进行跟踪的。这样就产生了一个问题,如何解决一个目录下既有要忽略的文件,又有要匹配的文件呢?
解决办法如下:
git提供了一个叹号(!)它的意思是非:如下
*.a
!lib.a
这样的写在.gitignore中,会忽略掉所有以.a结尾的文件,但是不忽略lib.a文件。在这样的启发下终于找到了解决办法
node_modules/*
!node_modules/@scope
在这个过程中,我曾试过如下的规则,但是没有成功
node_modules/
!node_modules/@scope
或者
node_modules
!node_modules/@scope
都失败了,我任务如果使用!来解决那些文件需要跟踪,匹配的规则要和忽略的规则一致才行
网友评论