背景
所在团队次要保护 ToB 我的项目,每个我的项目都存在多版本同时保护的状况,比方我的项目 A 交付给不同客户应用后,后续的迭代是以版本的模式让客户付费降级的,客户也能够购买不同的版本,工夫长了当前就会呈现 V1.0,V2.0,V3.0… … 这种多版本不同客户群应用的状况,惯例开发流程中,某个 feature 或者 bugfix 在 V1.0 上开发完当前,如果要利用到 2.0,3.0… 等其它版本,就要一一提交而后检出切换不同版本开发保护,版本相近的代码还好,cherry-pick 能够间接利用这次 commit,而版本跨度大业务代码差距大的时候,这种切换检出分支的动作必不可少。即便通过新建文件夹的模式 clone 多份代码,也须要开很多个 vscode 去来回切换。而更麻烦的是,如果要跑我的项目自测或者开发预览,还面临着频繁重装依赖等繁琐耗时的操作,肆意地耗费着咱们的开发工夫老本。
如何通过技术手段改善这种情况呢?或者如果有个工具或者插件能把所有版本的文件列出来就好了,这样不同版本间的文件就能够很不便的在以后编辑器面板来回穿梭批改或者跑服务。
基于这个想法,决定开发出一个 vscode 插件来实现检出多版本的工具。
解决方案
团队内应用的开发工具是 vscode,能够通过开发插件形式解决上述问题,工具次要性能:
- 列出所有分支(即版本)供检出;
- 检出的分支与以后我的项目并列,不便实时开发;
- 增加终端关上性能;
技术实现
我的项目版本或分支治理用 git。
实现剖析:
- 列出分支:能够约定所有大版本都用递增分支名,如:v1.0.0, v2.0.0
- 版本检出:利用 git worktree
列出分支
利用第三方库 simple-git 调用 git 命令查出所有分支:
版本检出
利用 git-worktree:Git worktree 是 15 年 git 推出的多仓库多工作区管理模式:一个 git 仓库能够反对多个工作树,别离对应不同的分支。咱们在 git 中通过 ”git init” 或 ”git clone” 创立一个(主)工作区(树)(main working tree)。
具体材料:https://git-scm.com/docs/git-…
插件介绍
按照上述实现计划,实现的 vscode 插件曾经公布:version shuttle(版本穿梭)
插件地址:https://marketplace.visualstu…
插件应用介绍
列出版本(分支)供检出:
检出要保护的版本:
这个插件的初衷是解决 tob 我的项目的多版本同时保护问题,多版本也意味着多分支,多分支同时保护的时候也能够用它来提效哦~
欢送应用,拍砖斧正,谢谢~