处理同一个repo的多个版本
Handling multiple versions of same repo
我目前正在构建一个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
相关文章:
- JS编译器/包管理器,用于版本控制
- jQuery-2.1.1.min.js或最新版本jQuery-2.13.min.js不会't支持'@
- Chrome加载旧版本的Javascript文件
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- 如何设置jsfiddle's的javascript版本
- 同一HTML页面中的两个不同版本的JQuery
- YouTube作为弹出窗口在桌面版本上播放,但不在移动设备上播放
- 有没有一种方法可以获得three.js的最小/lite版本
- Node和Nodejs版本不同
- 以ECMAScript 5及更高版本为目标时,八进制文字不可用
- 在同一个javascript事件处理程序中调用不同的函数
- 如何在HTML中指定Javascript的版本
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 单击和dblclick在同一个html上传递不同的parentNodes.为什么?
- 注册组件的非角度和角度版本
- JSON.stringify和Object.keys在同一个对象上产生不同的结果
- 处理同一个repo的多个版本