为了让Azure DevOps开发者,可以更简单地同时对多分支的应用提交,微软发布了PR Multi-Cherry-Pick扩展组件,该组件是使用git Cherry-Pick指令,能够自动应用程序代码变更到多个分支上。扩展组件Multi-Cherry-Pick的名称来自git指令Cherry-Pick,这是用来接受一个或多个现有的提交(Commit),并将每个提交的更改当作新的提交,应用到不同的分支上的操作。
Cherry-Pick指令使用时机经常发生,像是当某个开发人员提交并创建发布分支(Release Branch),而这个发布分支存在bug,另一位开发人员为其创建修补程序分支,并提交了必要的更新,而为了确保其他分支不受这个bug影响,就能使用Cherry-Pick指令,复制修补bug的提交到其它分支上。
Cherry-Pick的指令并不是剪切粘贴,而是复制的概念,因此要Cherry-Pick到其他分支的提交,会经过计算,为目标分支产生一个新的提交,原本修补程序分支上的提交,会依然存在。微软提到,Azure DevOps本来就有内置Cherry-Pick功能,用户可以直接从浏览器中,选择拉取请求提交到新的功能分支(Topic Branch)上,但是当同时要应用多个提交到多个分支上,同时还要打开新的拉取请求,则这个过程会相当麻烦。
因此微软发布了Multi-Cherry-Pick扩展组件,要来简化这个过程,用户可以一次Cherry-Pick拉取请求的提交到多个分支上,而对于用户选择的每个分支,系统都会创建应用更新后的功能分支,当用户在功能接口中勾选拉取请求选项,则会对目标分支(Target Branch)打开拉取请求。
用户安装PR Multi-Cherry-Pick扩展组件之后,在上下文菜单中现有的Cherry-Pick选项下,便会看到Multi-Cherry-Pick的选项。现在用户从市场,就能安装PR Multi-Cherry-Pick扩展组件,微软提到,这个扩展组件是开源的,因此开发者可以在GitHub反馈或是提交功能请求。