【发布时间】:2019-11-12 18:50:48
【问题描述】:
我有一个 .NET 解决方案 - 我们称之为 bookshop,它包含多个项目:bookshop.web、bookshop.lib。
bookshop.web 是一个向用户显示内容的网络应用程序。 Bookshop.lib 是一个包含大量 javascript 代码的库。 javascript 代码将(使用 Gulp)连接到具有发布版本号的单个文件中。
当我使用解决方案时,我经常在 web 和 lib 中进行更改,并在连接的 lib 文件中找到不应该在该特定版本中的部分 javascript 代码。我们在项目中使用了 Git 和分支,但是分支涉及 web 和 lib 的更改,因此很难将其分离为仅 javascript 版本。
有没有办法将我的解决方案放在 Git 存储库中,但有一个只影响 lib 文件夹的分支 - 以及一个只能更改 Web 的分支?我希望能够根据其发布版本切换 lib 分支,而无需更改 Web 分支。
任何关于这个工作进度问题的建议都会很棒。
【问题讨论】:
-
听起来您可能需要多个存储库。一个用于库,一个用于其余代码,因此您可以独立交换它们。
-
是的,但是 .NET 解决方案可以有两个存储库吗?
-
为什么不呢?当然,这必须取决于您如何准确地管理依赖项,但是一般而言,对于许多语言,您可以拥有一些您依赖的构建工件。所以你可以认为你的系统由不同的组件组成——一个是 lib,另一个是 web 应用程序。 Web 应用程序依赖于 lib,因此您将生成某种 lib 的人工制品,然后将其包含在 Web 项目中。如果您将 lib artefact 放入内部或外部存储库中以获取依赖项,并且 Web 项目从那里提取,则可以自动执行此操作。
标签: javascript git version branch