官方解析

Git 的 cherry-pick 是一种将指定的提交(commit)应用到当前分支的操作。它可以帮助我们将某个分支上的某次提交复制到另一个分支上,而无需将整个分支合并过来。

通常,我们在使用 Git 进行版本控制时,会在不同的分支上进行不同的开发工作。有时候,我们需要将某个分支上的某次提交(commit)应用到当前分支上,这时候就可以使用 cherry-pick 操作。

使用 cherry-pick 操作,我们可以复制指定的提交,然后将其应用到当前分支上,这个提交就成为了当前分支上的一个新的提交。cherry-pick 操作可以方便地将某个分支上的某个功能或修复应用到另一个分支上,而无需将整个分支合并过来。

cherry-pick 操作的使用方法如下:

git cherry-pick <commit-id>

其中, 指定了要复制的提交的 ID。这个命令将复制指定的提交,然后将其应用到当前分支上。

需要注意的是,使用 cherry-pick 操作时,可能会出现冲突,这时候需要手动解决冲突,并提交一个新的提交来解决冲突。因此,在使用 cherry-pick 操作之前,我们需要仔细考虑哪些提交需要复制,以及是否会产生冲突等问题。

比如:

当前分支是在main上面!!!

执行代码:

git chery-pick C3 C4 C7

在 Git 中,cherry-pick 是一种将某个分支上的一个或多个提交应用到另一个分支的操作。

通常情况下,我们会使用 git merge 命令将一个分支合并到另一个分支,但是有时候我们并不想将整个分支合并过来,而是只想选择其中的一些提交进行合并,这时候就可以使用 cherry-pick 命令。具体来说,cherry-pick 命令会将指定的提交复制到当前分支,并创建一个新的提交,这个新的提交与原提交的 SHA 值不同,但是提交的内容是相同的。这样就可以实现将某个分支上的一些提交应用到当前分支的目的。使用 cherry-pick 命令的步骤如下:

切换到要应用提交的目标分支,例如:

git checkout master

执行 cherry-pick 命令,指定要应用的提交的 SHA 值,例如:git cherry-pick 123456。

解决冲突(如果有的话)。

提交更改,例如:git commit -m "Merge commit message"

需要注意的是,使用 cherry-pick 命令可能会导致提交历史出现分叉,因为新的提交与原提交的 SHA 值不同。

此外,如果要应用的提交中包含一些依赖于其他提交的更改,那么 cherry-pick 命令可能会失败,因为这些依赖的提交并不在当前分支上。因此,在使用 cherry-pick 命令时,需要仔细考虑其带来的影响,并进行必要的测试和验证。

什么是 Git 的 cherry-pick?相关推荐

  1. git cherry pick

    直接将选定的其他分支的commit,提交到该分支上 不建议使用 git rebase --onto 使用cherry pick代替 http://weblog.avp-ptr.de/20120928/ ...

  2. idea cherry pick 功能 git log 窗口 冲突conflict

    git log 窗口 参考 source tree cherry pick, merge conflict merge conflict 冲突 <<<<<<< ...

  3. IDEA git cherry pick 简单使用

    cherry pick的作用: 参考了一些博客, eg: 参考博客1 参考博客2 再做了个小案例后,我目前的理解是,cherry pick的作用是将一个分支的部分提交/历史提交,可以合并到另外一个分支 ...

  4. [gitsourcetree]cherry pick和遴选的使用

    前言 cherry pick. 拷贝其中的某一次提交记录. 本文就介绍一种更加快捷的方式 cherry pick. 介绍 此方法主要用于2分支分别独立维护的情况, 即某一分支已经上线了spring-2 ...

  5. 在gerrit上cherry pick多笔提交到一个仓库中

    我们的要求是在dvr_service仓库上从其他分支cherry pick 两笔提交到release/b03chn_rel_sop_3_nobo分支 这两笔提交分别如图所示 如图所示,B02-5746 ...

  6. 1.Cherry Pick与Create Patch的区别

    Cherry Pick与Create Patch的区别 结论 实验 场景1:应用时无冲突 场景2: 应用时产生冲突 使用cherry pick 使用patch 场景3:产生冲突,并且有其他文件的变更 ...

  7. gerrit cherry pick to merge code

    开发中经常遇到,不同branch代码需要同步修改的问题, 通过gerrit cherry pick to功能可以方便的将已提交A Branch 的修改同步到B Branch上,提升工作效率

  8. 【git cherry pick冲突】

    修好了bug愉快的打算commit提交的时候 看到提示语句是can not commit changes due to unresolved conflicts 在Android Studio中寻找图 ...

  9. golang中文文档_【译】Go 语言源码贡献官方指导文档

    以前给 Go 语言项目源码提交过一些 commits,期间阅读他们的官方指导文档的时候觉得这篇指导文档可以作为绝佳的关于大型软件项目的规范管理的参考,因为最近又提交了几个 commits,就又把这篇文 ...

  10. git 拉去merged 仓库的代码步骤

    1 首先将自己的代码提交到自己的分支仓库里面 2 代码已经提交了,可以清空本地仓库  git reset --hard HEAD^^^ 回车, 或者git reset --hard "指定的 ...

最新文章

  1. 精心为你准备的最全的20道Mysql面试题。
  2. 混合和可扩展的纠错算法,用于长读的插入缺失和替换错误
  3. javascript黑魔法
  4. css清除浮动float的三种方法总结
  5. java学习--基础知识阶段性总结--网络编程
  6. python操作redis集群_python操作redis集群
  7. 【转载保存】mapreduce优秀文章
  8. 发际线对于一个人的颜值影响有多大?
  9. Unity 中 Png转Texture2D再转Sprite
  10. UVA11729 Commando War【贪心】
  11. ztree异步加载数据amp;amp;amp;amp;amp;amp;amp;amp;给父节点动态追加子节点
  12. 计算机在材料科学中的应用上机二,计算机在材料科学与工程中应用综合实验
  13. 随机森林树的特点--摘抄笔记
  14. adprw指令教程_三菱FX5U模拟量,通信,运动控制详解
  15. 微信读书增长策略:“无限卡会员业务”
  16. 马科维茨均值方差模型
  17. 十招挑出皮薄味甜的西瓜
  18. MySQL安装QT连接MySQL学习记录
  19. 谷歌AI助NASA发现第二个太阳系;传快手完成新一轮融资;摩拜起诉小广告公司丨价值早报
  20. 拉普拉斯矩阵的python实现

热门文章

  1. 计算机教室外显标牌,幼儿园如何美化区角标示牌?
  2. 12关于FFmpeg的四种时基和时基相关函数的分析及其场景用法
  3. 无线开关量收发模块、模拟量无线收发模块、无线液位采集传输控制系统、无线压力传感器、云平台远程监控、本地监控、无线西门子plc在污水处理方案中的应用
  4. android poi搜索提示搜索对象已销毁,Android SDK | 百度地图API SDK
  5. 服务器向所有浏览器响应数据,浏览器工作原理与实践总结一
  6. 01-figma介绍
  7. tv端h5_安卓市场tv版
  8. 中国SaaS的破茧与进击
  9. 如何完成符合ISO 26262要求的基于模型设计(MBD)的测试
  10. Steam VR设备连接问题,求解答!