首页 > 解决方案 > 您将如何使用它们共有的文件夹/文件更新两个略有不同的存储库?

问题描述

基本上,我有两个独立的存储库。它们都在运行 FeathersJS,并且略有不同。我想知道如果更新了一个存储库中的一项服务,是否有一种方法可以更新两个存储库,如果该服务与两个存储库共享。谢谢!

标签: version-control

解决方案


选项一:Git

您没有指定您正在使用的版本控制系统,但我假设它是 Git,因为它是迄今为止最流行的。

使用 Git 时,有一种方法可以将存储库“嵌入”到另一个存储库中,这样它们就可以像代码直接保存在父级中一样使用,但实际上是在它自己的版本控制之下。这被称为git 子模块,虽然它是一个很好的解决方案,但它也非常复杂,可能对你想要的东西来说太过分了。

基本上,你会从这样的结构开始:

| - repo1
    | - shared file
| - repo2
    | - shared file

对此:

| - repo1
    | - git submodule: repo3
| - repo2
    | - git submodule: repo3
| - repo3
    | - shared code

选项二:NPM

由于您指定使用 Javascript,您还可以使用 Javascript 包管理器;新PM。NPM 允许您“打包”代码,然后将其导入其他项目。

NPM 远比 git 子模块更受欢迎,如果您打算使用现代 JS,学习如何使用它将是一项宝贵的技能。

在这种情况下,您会将共享代码移动到新的存储库(就像上面的 Git 子模块一样),然后将其打包并发布。

然后,您可以将此打包的代码导入到您现有的两个存储库中。

NPM 要求您安装 NodeJS,并且您有一个构建过程来导入 NPM 包并以浏览器可以处理的方式打包所有内容。

查看NPM 入门指南了解更多信息。

随时在评论中提出任何问题


推荐阅读