处理同一个repo的多个版本

Handling multiple versions of same repo

本文关键字:版本 同一个 repo 处理      更新时间:2023-09-26

我目前正在构建一个react组件库,我在自己的下游应用程序中使用它。

我通过package.json

在我的下游应用程序中导入这些

然而,我遇到了一个关于如何处理版本控制的想法,不确定如何继续。

假设<SomeComponent/>的2.0.0版本打破了1.0.0版本。下游应用程序想要使用2.0.0版本的组件,但假设该应用程序当前使用的是1.0.0版本的<SomeComponent/>,这会破坏兼容性。在这个场景中,应用程序不能仅仅更新package.json

那么我如何能够使用someecomponent从1.0.0,同时也使用DifferentComponent从2.0.0?

解决这类场景的推荐方法是什么?

我考虑过为每个组件创建一个新的repo,但这似乎是一个不合适的过度解决方案。这需要很多重复的文件。构建脚本,readmes,配置文件,etcwebpack配置文件等。

任何帮助或建议将不胜感激。谢谢!

我不知道这是否是最好的解决方案,但我以前做过双版本,为旧版本引入新功能。

假设你有1.0.0和2.0.0,你添加了一个新功能,发布了2.1.0

如果新特性与1.0.0的功能没有冲突,或者可以解决,那么您可以从2.1.0版本或特性分支中挑选提交的范围。

git checkout -b 1.1.0rc 1.0.0
git cherry-pick <SHA..range from 2.1.0>
# execute test suites
git tag 1.1.0