2017-10-09 57 views
1

我有一个软件仓库。我将发布具有此软件不同功能的不同版本,但它们都共享相同的基本功能和代码库。 我想出了3种可能的解决方案发布相同软件的不同版本,你应该分叉还是分支?

  • 应该每个版本都有自己的分支在主要的回购?
  • 每个版本是否应该从主库中分出来?
  • 完全独立的每个版本的回购。

还有什么其他的选择,哪一个是最好的?

+0

如果它不是基于意见的,这似乎更适合程序员.SE,因为它是关于软件开发生命周期,而不是专门编程。 –

+0

以下是您的练习:确切地说,分支*和克隆*之间的区别是什么? (如果你使用Mercurial,做这个练习就显得尤为重要,因为制作一个新的克隆是启动分支的一种更为常用的方法。)顺便说一下,这次练习的重点不在于(仅)知道答案,而是而是让你思考你打算如何使用版本控制系统。 – torek

回答

2

可能会引导你思考几个问题:如果一个变化是对一个版本进行

1),你想这种变化反映在其他(县)?这包括保持功能同步,并统一应用错误修正。

2)你喜欢为自己创造不必要的工作吗?

如果对(2)的回答是“是”,那么我当然会看到多个回购的吸引力。 (1)的答案是“否”,那么我假设(2)的答案必须是“是”。如果对(1)的答案是“是”并且对(2)的答案是“否”,那么你想要一个代码库 - 这意味着一个单一的回购。我甚至不会使用单独的分支;通过适当的构建工具,这可以在一个完全集成的代码库中处理。

0

如果您在管理构建工具/ CI,然后我会建议使用多个分支,这种方式不亲用户,

  1. 你就不会乱了整个仓库
  2. 您仍然可以变基/如果需要合并/樱桃选择一个分支到另一个分支
相关问题