git cherry-pick 的作用与使用方法
创始人
2025-05-29 03:19:05

git cherry-pick

      • 1 cherry-pick 的作用
      • 2 使用场景
      • 3 使用方法

在实际开发过程中,将代码从一个分支转移到另一个分支是常见需求。

这时分两种情况:

  • 一种情况是,我们需要另一个分支的所有代码改动,那么就可以采用合并处理git merge
  • 另一种情况,我们只需要部分代码改动(某一个或多个 commit 提交),这时就可以采用 cherry pick

1 cherry-pick 的作用

cherry-pick ,精心挑选的意思,挑选一个我们需要的 commit 。

其作用:将在其他分支上的 commit 修改,移植到当前的分支。

2 使用场景

想在一个稳定的版本上,添加一个刚开发完成的版本中的某个功能,而非某个分支的所有代码。

可以使用 git cherry-pick 命令,将这个功能相关的 commit 提取出来,合入稳定版本的分支上。

3 使用方法

每次只拉去一个 commit 记录:

git cherry-pick // 增加 -x 参数,表示保留原提交的作者信息进行提交
git cherry-pick -x 

当执行完 cherry-pick 之后,将会自动生成一个新的 commit 进行提交,也会有一个新的 commit ID。然后可以进行 git push 到远程分支,进行创建合并请求。顺利的话,正常合并就可以。如果遇到冲突,解决冲突即可。

支持批量 cherry-pick

就是可以一次将一个连续的时间序列内的 commit ,设定一个开始和结束的 commit ,进行 cherry-pick 操作。

git cherry-pick commit1..commit100// 可以看到,它的范围就是 commit1 到 commit100 之间所有的 commit,但是它这是一个(左开,右闭] 的区间,也就是说,它将不会包含 commit1 的 commit。

而如果想要包含 start-commit-id 的话,就需要使用 ^ 标记一下,就会变成一个 [左闭,右闭] 的区间,commit1 和 commit100 都会合并到当前分支。

git cherry-pick commit1^..commit100

注意:上面讲到cherry-pick命令每拣选一个commit就会提交一次生成一个新的commit id。 如果我们想让每个commit 拣选后暂缓提交,等到所有commit都拣选完成后,自己手动commit。

那么可以加上 -n 选项在 commitID 前面,这样到最后可以进行一次提交

git cherry-pick -n commit1^..commit100

相关内容

热门资讯

一路黔行 爽居畅游丨用镜头记录... 本文转自:人民网-贵州频道用镜头记录多彩贵州的冬日浪漫。2月2日至6日,“一路黔行·爽居畅游”主题参...
江西南昌举办“洪州千灯会” 流... 来源:中国新闻网2月12日晚,在位于江西省南昌市红谷滩区的南昌融创乐园,大型国风花灯盛宴“洪州千灯会...
瑞幸X线条小狗上新「比利时黑巧... 封面图来源:瑞幸咖啡、喜茶、轻上轻颜 新产品 1、经典黑巧情人节返场!瑞幸咖啡×线条小狗上新「比利...
腊月二十七,宰鸡赶集,大吉大利... 大家好,今天是2026年2月14日,农历腊月二十七。民间有“腊月二十七,宰鸡赶大集”的习俗。 为什么...
小年和美食 快过年了,按中国习俗就是各种吃,直到元宵节后倒胃口。 前几天分别是北方小年和南方小年,大概也算是春节...