git - 为新的主要更新创建单独的存储库?

标签 git github version-control repository

我有一个开发框架,我将很快对其进行重大更新。 (到 2.0.0)

我改变了我的框架的整个设计,所以它根本不会与以前的版本兼容。

就我而言,为我的新主要更新创建一个单独的 Git 存储库是个好主意吗?有没有这样的案例?

我很感激任何意见。

最佳答案

一些真实世界的例子
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 创建新的存储库和包作为后缀可能看起来很诱人,因为它可以解决一些问题,但从长远来看,它可能弊大于利。

关于git - 为新的主要更新创建单独的存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50969203/

相关文章:

java - 我无法在 Jenkins 中构建工作,,,即使我已经给出了 github 的路径

git - 如何制作远程 git 分支的副本(不与我现有的分支 merge )?

git push with http/2 有时会挂起 "17 bytes stray data"

git - 在 Git 中保存远程分支中的更改

git - git format-patch 输出的第一行是什么?

intellij-idea - Intellij Idea 实时模板

version-control - 我可以清除具有大量未使用历史记录的 Mercurial 存储库吗?

git - git 中是否有 'p4 have' 等效项?

git - 从 github 私有(private)存储库下载源代码的 http 链接

git - 在 Branch master git status 上没有显示要提交的内容(创建/复制文件并使用 "git add"进行跟踪)