在git中处理node_modules的正确方法是什么?

时间:2017-02-06 05:48:14

标签: node.js git reactjs github repository

我是git和node的初学者。所以我在git中创建了一个新的存储库,并安装了react和babel,git告诉我存储库太大了。我所做的一切都是这样的:

created index.html
created app.js
> npm init (initialized package.json)
> npm install --save react react-dom
> npm install --save-dev babel_preset_react
> npm install --save-dev babel_preset_es2015
added babel config to package.json

也许我错过了什么,但我还没有建造任何东西,而且我已经抱怨我的回购太大了。 Git桌面甚至抛出OutOfMemory异常!所以我想知道,也许我不应该检查node_modules文件夹。然后我读到了这个:

https://web.archive.org/posts/nodemodules-in-git.html

但我现在更加困惑。文章说你应该在node_modules中检查你部署的项目。但这是不是意味着它仍然是一个“大型存储库?”

在底部,文章说不要将node_modules添加到gitignore。我认为gitignore只是忽略了该文件夹中的文件被提交给git。那么这告诉我们不要忽略node_modules吗?如,签入node_modules?

什么是$ npm在部署时重建?

作为npm和git的开始,有人可以用更简单的术语解释我应该做些什么吗?

2 个答案:

答案 0 :(得分:1)

我刚刚查看了您分享的链接已损坏。我们从不向node_modules签入他们轻松地将大量MB添加到整体大小的存储库。请在node_modules中添加.gitignore。您只应在package.json核对您的存储库。这就是我在AngularJs项目中的.gitignore的样子,

.idea
node_modules
dist
npm-debug.log*
.DS_Store

如果您担心版本升级导致的重大变化,请指定"〜"在版本号前面签名。 package(package.json),所以只考虑补丁。

例,

"angular": "~1.5.6"

答案 1 :(得分:0)

您不需要将node_modules推送到您的仓库中。将node_modules添加到gitignore,当您在服务器上部署代码时,必须使用命令在那里安装node_modules:

npm install

当您在本地安装node_modules时更新package.json,并将其推送到repo。在服务器上运行npm install时,将安装package.json

中提到的所有软件包