TECH NOTES / 开发工具
Git cherry-pick 简单用法
原笔记 2022-09-16 · 整理于 2026-10-05
想把一个分支上的某个提交应用到另一个分支,可以使用 git cherry-pick。它处理的是选定提交带来的变更,适合只需要其中一项修复的场景。
1. 切换到目标分支
下面假设修复已经在 dev 中,希望把它应用到 master。先确认工作区状态,再切换分支:
git status
git switch master
git log --oneline dev2. 应用指定提交
用实际提交 ID 替换示例中的 COMMIT_SHA:
git cherry-pick COMMIT_SHA默认情况下会在目标分支产生一个新提交,所以它的 ID 通常不同于原提交。检查差异、运行项目必要的检查后,再推送:
git show --stat HEAD
git push3. 遇到冲突怎么办
先用 git status 找到冲突文件,编辑并确认最终内容,然后暂存已解决的文件:
git add path/to/resolved-file
git cherry-pick --continue如果决定取消当前这次操作:
git cherry-pick --abort4. 后续合并是否必须 rebase
不必须。原笔记里“cherry-pick 后再次 merge 必须先 rebase”的说法过于绝对,已经改正。后续合并是否冲突取决于分支历史和具体变更,不能仅凭使用过 cherry-pick 就要求重写分支历史。
如果使用 GitLab,也可以在提交页面找到 Cherry-pick 操作,选择目标分支:
