Git:发布版本的不同分支
Posted
技术标签:
【中文标题】Git:发布版本的不同分支【英文标题】:Git : different branches for release versions 【发布时间】: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 项目从那里提取,则可以自动执行此操作。 【参考方案1】:就像this topic 中解释的那样,git 中有一个名为 submodule 的功能来处理嵌套的 git 存储库。我认为这是你应该采取的方式。
另一个有用的link!好读:)
【讨论】:
子模块可以有自己的分支吗?我希望能够在开发 lib 项目的不同分支之间进行切换。以上是关于Git:发布版本的不同分支的主要内容,如果未能解决你的问题,请参考以下文章