git - 为新的主要更新创建单独的存储库?
问题描述
我有一个开发框架,我将很快对其进行重大更新。(至 2.0.0)
我改变了我的框架的整个设计,所以它根本不兼容以前的版本。
就我而言,为我的新主要更新创建一个单独的 Git 存储库是个好主意吗?有没有这样的案例?
我会很感激任何意见。
解决方案
一些现实世界的例子
Yii 框架前段时间做过这样的事情。Yii 2.0 完全重写了——几乎所有的类名都被改变了(由于引入了命名空间),你实际上可以同时使用 Yii 1.1 和 Yii 2.0,因为它们充当了两个独立的库。所以 Yii 团队选择创建单独的存储库 ( yii2
) 和单独的包名 ( yiisoft/yii2
)。这自然产生了一些约定——通常 Yii 2 扩展以 为前缀,yii2-
以区别于完全不同的 Yii 1.x(通常以 为前缀yii-
)。到目前为止一切顺利 - 有一致的命名约定,可以避免框架版本之间的混淆。
但是现在 Yii 想使用semver。这自然需要发布下一个主要版本——Yii 3.0。3.0 不会被完全重写——只有部分框架会改变。yii3
创建新的存储库和新的包是没有意义的。所以要么我们在存储库中有 Yii 3 yii2
,要么我们需要重命名存储库和包名(它被数千个应用程序和扩展用作依赖项)。这两种选择都很糟糕。
所以我不建议创建新的存储库,除非您想将其视为全新的框架(具有不同的名称,而不仅仅是myframework2
)。创建带有2
后缀的新存储库和包可能看起来很诱人,因为它可能会解决一些问题,但从长远来看,它可能弊大于利。
推荐阅读
- javascript - 过滤/查找 .eq() 两个不同值的元素
- excel - Excel CountIF 公式对列表进行分组,有 2 个限制
- react-native - 意外的标记 '{'。导入调用只需要一个参数
- config - 故障注入 - 延迟和中止在 Istio 中不起作用
- flutter - Flutter 背景获取在无头事件中给出异常
- php - SQLSTATE[HY000] [1045] 用户 mimi_oboss 访问被拒绝
- javascript - 当我按下传单地图上的缩放按钮时,导航栏不显示
- css - 如何定位像浏览器游戏 React js 这样的图像精灵表
- postgresql - Postgresql:如何获取函数返回的游标名称?
- ejabberd - 我在哪里可以找到 19.0.5 的 ejabberd 配置目录