【问题标题】:Git : different branches for release versionsGit:发布版本的不同分支
【发布时间】: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


【解决方案1】:

就像this topic 中解释的那样,git 中有一个名为 submodule 的功能来处理嵌套的 git 存储库。我认为这是你应该采取的方式。

另一个有用的link!好读:)

【讨论】:

  • 子模块可以有自己的分支吗?我希望能够在开发 lib 项目的不同分支之间进行切换。
猜你喜欢
  • 2023-03-19
  • 1970-01-01
  • 2015-01-26
  • 2011-01-05
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多