首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分支、构建、发布和多平台

分支、构建、发布和多平台
EN

Software Engineering用户
提问于 2016-06-18 15:18:02
回答 1查看 381关注 0票数 3

我想看看那里有哪些最佳实践。我有以下要求:

  1. 我有一个回购,用于开发(掌握和开发分支)。我想跟踪阿尔法/测试版/发行版候选人和版本构建。我正在考虑为alpha/ beta /rc/rel创建分支,然后我将合并开发到alpha,然后从alpha到beta等等。但是在这种情况下,主分支没有任何有用的使用,开发将只在alpha前阶段起作用。在一个alpha版本之后,我必须从alpha分支分支。
  2. 我想在VCS中跟踪所有寄给客户的包裹。因此,我正在考虑创建一个单独的回购版本和所有附加材料(docs,license,etc.etc)。
  3. 该应用程序是跨平台的,这意味着对于上述每个分支,我至少需要另外三个分支(win32、win64和macos)。

总之,这个过程看起来非常复杂。那么,这里常见的方法是什么呢?

谢谢

EN

回答 1

Software Engineering用户

发布于 2016-07-23 11:50:29

  1. 我喜欢在'main‘或’主干‘上工作,而不是(提前)发布分支,但是当需要为一些在野外的老版本提供修复时,我绝对会尽量减少我必须维护的不同版本的数量。当你处于测试版时,你还会支持你的软件的alpha版本吗?我认为alpha/beta/rc/版本是连续的,而不是平行的,它不需要分支,它只是表示你的‘主干’的准备/稳定。
  2. 由构建服务器创建的发行版,我将发行版与版本号和版本控制修订版相关联。这样,我可以在以后创建一个“发布”分支,如果需要热修复/补丁程序的话。我很少这样做,因为我试图修复最新版本(尝试将所有安装保持在最新版本)。
  3. 我在这里没有真正的经验,但我假设大多数代码实际上都是相同的,使用编译器指令,正如一些注释所建议的,听起来是一个更好的策略。您还可以使用依赖项注入配置选择特定于平台的实现。如果你的分支平台,你可能会冒险让你的分支偏离如此之远,以致于任何试图在它们之间合并成为一个主要的痛苦。我建议找到抽象来弥补平台之间的差异。

在我的经验中,它会导致后期的集成,它会阻止重构(您将遇到不可合并或非常复杂的合并)。我使用特征切换将不稳定/未完成的特性保留在生产之外。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/322628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档