-x 记录来源
-x 是 cherry-pick 的附加选项:在生成提交的信息末尾追加一行来源注记,标明这次改动来自哪一次提交。把修复从主分支回移到稳定分支(backport)时,维护者通常要求带上这条注记,方便日后追溯改动的源头与影响范围。
基本信息
| 用途 | 在提交信息中标注来源提交 |
|---|---|
| 语法 | git cherry-pick -x <提交> |
| 典型场景 | 把修复从主分支回移到稳定分支 |
| 影响范围 | 只改提交信息,不改文件内容 |
典型使用场景
- 向稳定分支回移安全修复时标明来源,满足维护流程要求
- 多版本并行维护时,核对某处改动是否已经回移到各分支
- 线上问题定位时,从回移提交反查原始修复
- 上游项目要求补丁带来源注记时按规范提交
- 同一修复需要在多个维护分支落地,保留统一的来源线索
常用示例
常用示例
git cherry-pick -x 3f6a2b1 # 生成提交并附加来源注记
git log -1 --format=full # 查看完整提交信息中的注记行
git cherry-pick -x --no-commit 3f6a2b1 # 先只落改动,人工确认后再提交
git cherry-pick -x -e 3f6a2b1 # 提交前编辑信息,补充回移原因选项读法
| 项 | 作用 | 说明 |
|---|---|---|
| -x | 附加来源注记 | 只影响提交信息 |
| --no-commit | 只应用改动不提交 | 便于人工调整后再提交 |
| -e | 提交前编辑信息 | 可补充回移原因与影响范围 |
来源注记对跨版本追溯很有价值,但从私有分支向公开仓库拣选之前,要确认原提交信息里没有不宜公开的内部引用。
注记里记录的是源仓库的提交哈希,这个提交在目标仓库里通常并不存在,评审时不要把它当成可以直接打开的链接。跨仓库回移时更实用的做法是同时在正文里写清问题编号,方便按编号检索。
回移之后建议顺手核对目标分支上是否已有同类修复,重复回移同一问题时,多份来源注记会让追溯变得更绕而不是更清晰。