我有一个开发框架,我将很快进行重大更新。 (至2.0.0)
我更改了框架的整体设计,因此它根本与以前的版本不兼容。
就我而言,为我的新主要更新创建一个单独的Git存储库是一个好主意吗?还有这样的情况吗?
我将不胜感激。
答案 0 :(得分:2)
我将维护相同的存储库和相同的分支以保留所有历史记录。您可以使用标签来管理此更改,我的意思是,您将可以使用此标签执行很多操作。例如结帐,共享等。
我认为这篇文章可能对您很方便:
答案 1 :(得分:1)
Yii framework前一段时间做了类似的事情。 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
存储库和新程序包是没有意义的。因此,或者我们在yii2
存储库中拥有Yii 3,或者我们需要重命名存储库和程序包名称(成千上万的应用程序和扩展程序将其用作依赖项)。两种选择都非常糟糕。
因此,除非您要将其视为全新的框架(使用不同的名称,而不仅仅是myframework2
),否则我不建议创建新的存储库。用2
作为后缀来创建新的存储库和软件包可能很诱人,因为它可以解决一些问题,但从长远来看,弊大于利。