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

相关内容

热门资讯

中国诗歌春晚总导演盛赞蔡洪坊美... 中国诗歌春晚总导演盛赞蔡洪坊美酒是诗意名酒 本网讯 12月10日上午,中国诗歌春晚总策划、总导演,...
低温酸奶行业健康升级与性价比并... 一、低温酸奶健康属性日益凸显,占酸奶市场的比重持续提升 低温酸奶以牛奶和乳酸菌为原料,通过杀菌后接种...
隔夜了的餐饮,还能吃吗(2) 对于熟食在烹饪完成以后,或者是在进餐的过程中,筷子等餐具上的一些细菌会进入到剩菜,在餐食留置和保存的...
超10000家门店的蜜雪冰城,... 巨头,又带头卷起来了。 近日,蜜雪冰城在杭州、西安、大连等多个城市试点早餐业务,主要搭配,是一款奶制...
游客称景区演员被冻成“冰雕”:... 近日,河南多地下雪,一游客在开封万岁山武侠城游玩时,发现雪地里一座关羽的“冰雕”,走近才发现是一位正...