NPM忽略.gitignore中列出的文件吗?
我有一个由npm install
命令生成的文件(使用preinstall
任务)。 我不想把它添加到git仓库中,也不在NPM项目中。
假设文件名是foo.json
,我将它作为foo.json
添加到.gitignore
文件中。
这是否足以避免上传到NPMregistry?
我知道我可以添加.npmignore
文件,肯定会忽略该文件,但我不会添加它,如果.gitignore
已经这样做。
从文档 :
使用一个
.npmignore
文件来保存你的包里的东西。 如果没有.npmignore
文件,但有一个.gitignore
文件,那么npm会忽略.gitignore
文件匹配的东西。 如果您想要包含由.gitignore
文件排除的内容,则可以创build一个空的.npmignore
文件来覆盖它。
简单来说,如果.npmignore
文件在那里,npm会更喜欢 .npmignore
文件,但会回退到.gitignore
文件。 所以如果两者都存在,它将使用.npmignore
文件。
在许多情况下,Git和npm都可以忽略相同的文件,所以只使用.gitignore
文件是有意义的。 如果有任何差异(例如,您希望npm跟踪而不是Git,反之亦然),那么您需要同时维护.gitignore
和.npmignore
文件。
有关在.npmignore
文件中放置什么的更多信息: 我应该.npmignore我的testing?
对于任何读这个试图忽略git的文件/目录,但希望将其纳入npm发布,并试图使用空的.npmignore
文件没有运气。 这工作。
在你的.gitignore
文件中,添加你想排除的文件/目录**/build
例如在你的.npmignore
文件中,确保你指定了相同的文件/目录但是用!
前缀,所以对于包含!**/build
的构build示例