如何在不同的相应本地分支package.json中使用单独的git分支作为npm软件包依赖项?

时间:2019-05-24 10:00:25

标签: git npm bitbucket githooks

我想在我的不同服务中安装通用git repo作为依赖项。对于每个服务上的不同分支,我想在package.json中包括相应的common-utility分支作为依赖项

我知道我可以通过执行以下操作来安装git模块

npm i git+ssh://git@<gitlab_url>.git

npm i git+ssh://git@<gitlab_url>.git#master用于特定分支。

但是使用这种方法,我只能在每个服务的所有分支中使用实用程序的特定分支。

因为当我合并两个分支时,package.json也会更新,最后每个分支都具有与依赖项相同的实用程序分支。

假设我有一个使用Utility作为npm模块的服务,并且服务具有2个分支masterstaging

当前方案

utility#master -> ServiceA#master

utility#master -> ServiceA#staging

我真正想要的

utility#master -> ServiceA#master

utility#staging -> ServiceA#staging

有没有解决方法,我可以保持对应的分支作为依存关系,甚至在合并两个分支之后,它也遵循类似的模式。

1 个答案:

答案 0 :(得分:0)

我认为没有一种正确的方法来实现您所说的内容,因为听起来有点奇怪,您可能会在2个不同的分支上的同一位置放置2个不同的文本。

但是我想我可以为您的问题提供2种解决方案,但是我想清楚地告诉您,我认为这两种方法都不是一种好的方法。     1.一种方法是分别拥有两个分支,而不是合并两个分支,而是在进行更改后合并更改分支或在两个分支上开发分支。     2.我猜您可能需要在仓库中有一个单独的小项目,该文件检查环境文件的env文件,并使用所需的任何依赖版本重写项目的package.json并运行安装脚本。

github发生了类似的讨论,但不幸的是没有解决办法。