如何将我在node_modules中所做的更改提交回git?

时间:2015-07-30 11:18:30

标签: node.js git npm

有时为模块维护节点包的分支更容易,我希望能够编辑node_modues中通过npm install githubaccount/myrepo.git安装的模块。

目前我对文件进行了任何更改,我必须将其复制回repo。这很乏味。

如何在npm中编辑模块并让它们由Git跟踪?

Python的pip有一个选项,您可以在其中定义一个'egg',它将repo的克隆符号链接到site_packages文件夹。我知道这是一个不同的系统,但我发现它在过去非常有用。

1 个答案:

答案 0 :(得分:3)

您可以使用npm link命令执行此操作。这是如何使用它。假设您的npm模块位于~/npm-module,而您使用npm模块的项目位于~/my-project

cd ~

# First clone the npm module
git clone https://..../npm-module.git

# Go into the module's directory:
cd npm-module

# Link the module
npm link

# CD into the project using the npm module
cd ../my-project

# Link the module
npm link npm-module

第一次调用npm link将在npm的缓存目录中创建一个链接,指向npm-module的本地克隆。第二个调用将它链接到使用模块的项目(进入node_modules文件夹)。

如果您查看项目的node_modules文件夹,您会看到它现在包含指向npm-module来源的符号链接。您在该文件夹中所做的任何更改也将位于克隆项目中。您可以在那里提交更改并将其推回到遥控器。

这与您使用Python的egg功能类似。

这是npm link documentation