用途:本技能与 gitlab-flow、gitlab-sync 配合,专注 main → release/<app>/<version> 的 backport:只挑取 main 上指定的 commit 进入冻结的发布分支,用于 hotfix 或 patch release。
主要能力:列出远端全部 release 分支(git ls-remote --heads origin "refs/heads/release/");按天数列出集成分支(默认 main,也可是 dev)上的 commit,并排除 release 已含的提交(git log origin/<source> ^origin/release/<app>/<version> --since=... --reverse);交互式选择目标 release 与 commit(支持按序号、范围、all、SHA 或 cancel);用 git cherry-pick -x 按时间顺序逐个应用并解决冲突;推送后创建 cherry/ → release/<app>/<version> 的 MR。
使用方式:先确定目标 release,再确认 source 与回溯天数,创建 cherry/<source>-to-release-<app>-<version> 分支(从 release 分支切出,不是 main),cherry-pick 后用 git cherry-pick --continue 或 --skip、--abort 处理;推送前需用户确认,MR 标题使用 chore(cherry):,并带 --remove-source-branch,合并后清理本地分支。
限制:代码只单向流动,禁止向 release 直接提交、禁止 release/* 合回 main、禁止 cherry-pick 未进入 main 的提交、禁止用 git merge 同步 release;切新 release 分支、部署 prod、打 tag 均不在范围内,由 Maintainer 手动完成。冲突规则不明确时应停下询问用户。资料未提供该技能的安装方式与依赖细节。