我有一个软件仓库。我将发布具有此软件不同功能的不同版本,但它们都共享相同的基本功能和代码库。 我想出了3种可能的解决方案发布相同软件的不同版本,你应该分叉还是分支?
- 应该每个版本都有自己的分支在主要的回购?
- 每个版本是否应该从主库中分出来?
- 完全独立的每个版本的回购。
还有什么其他的选择,哪一个是最好的?
我有一个软件仓库。我将发布具有此软件不同功能的不同版本,但它们都共享相同的基本功能和代码库。 我想出了3种可能的解决方案发布相同软件的不同版本,你应该分叉还是分支?
还有什么其他的选择,哪一个是最好的?
可能会引导你思考几个问题:如果一个变化是对一个版本进行
1),你想这种变化反映在其他(县)?这包括保持功能同步,并统一应用错误修正。
2)你喜欢为自己创造不必要的工作吗?
如果对(2)的回答是“是”,那么我当然会看到多个回购的吸引力。 (1)的答案是“否”,那么我假设(2)的答案必须是“是”。如果对(1)的答案是“是”并且对(2)的答案是“否”,那么你想要一个代码库 - 这意味着一个单一的回购。我甚至不会使用单独的分支;通过适当的构建工具,这可以在一个完全集成的代码库中处理。
如果您在管理构建工具/ CI,然后我会建议使用多个分支,这种方式不亲用户,
如果它不是基于意见的,这似乎更适合程序员.SE,因为它是关于软件开发生命周期,而不是专门编程。 –
以下是您的练习:确切地说,分支*和克隆*之间的区别是什么? (如果你使用Mercurial,做这个练习就显得尤为重要,因为制作一个新的克隆是启动分支的一种更为常用的方法。)顺便说一下,这次练习的重点不在于(仅)知道答案,而是而是让你思考你打算如何使用版本控制系统。 – torek