概述
在工作中,当需要将一个分支的部分变动提取出来,或者在无法直接合并到生产分支且前一个需求尚未合并时,复用特定改动逻辑,就需要用到 Git 的 cherry-pick 功能。
核心作用
核心作用是将一个或多个已有的提交(commit)复制到当前所在的分支上。你可以把它想象成在一棵果树上,只挑选几颗你想要的,而不是把整根树枝都搬过来。
使用场景
主要用于那些不需要合并整个分支,而只需要其中几个特定提交的情况:
- 将修复补丁应用到多个分支:假设有一个
bugfix分支修复了关键 bug,提交 hash 为 a1b2c3d。现在需要将该修复同时应用到 main 分支、develop 分支或旧的维护分支 v1.x。无需将整个 bugfix 分支合并,只需在每个目标分支上执行:git cherry-pick a1b2c3d - 意外在错误的分支上进行了提交:本来应该在 feature/login 分支开发,但不小心在 main 分支提交了代码。可以在 feature/login 分支通过
git cherry-pick将误提交拿过来,回到 main 分支用git reset撤销。 - 只想引入另一个分支上的某个特定功能:同事在 feature/A 分支开发了 5 个新功能,但只需要第 3 个。找到对应提交,用 cherry-pick 单独引入。
操作指南
IDEA 方式
-
新建并切换分支:在右下角输入分支名,点击
checkout切换到目标分支。

-
打开 Git Log:点击菜单栏
Git->Show Git Log或左下角Git面板。
-
筛选提交记录:
- 输入框:筛选提交 hash、分支名、提交文本。
- Branch:All:根据分支筛选。
- User:All:根据提交用户筛选。
- Date:All:根据提交时间筛选。
- Path:All:根据文件筛选。
筛选后点击选中,右侧会显示本次提交的变更文件记录。





