当前位置: 首页 > news >正文

git中的cherry-pick和merge有些区别以及cherry-pick怎么用

git中的cherry-pick和merge在使用场景上有些区别:

  • cherry-pick用于将另一个分支的某一次或几次commit应用到当前分支。它可以选择性地拉取代码修改。
  • merge用于将两个分支合并成一个新分支。它会把整个分支上的所有修改都合并过来。
    具体区别:
  • cherry-pick通常用于将bug修复从发布分支应用到开发分支。只合并特定的commit,不会包含目标分支的所有修改。
  • merge用于合并功能分支到主分支。它把一个完整功能分支的所有修改都合并过去。
  • cherry-pick保留原commit的SHA值和注释等信息,merge则会生成新的commit信息。
  • merge可能需要处理代码冲突,cherry-pick如果存在冲突需要手动解决。
  • merge合并整个分支历史,cherry-pick只应用指定commit而不包含历史。

总之,当需要应用另一个分支的部分修改时用cherry-pick,需要合并整个分支时用merge。它们侧重的场景不同。

cherry-pick使用例子:

这里是一个使用git cherry-pick的示例:
假设我们在dev分支上开发,已经有了一些commit:

A-B-C-D (dev)

同时在master分支上也有一些commit:

W-X-Y-Z (master)

我们在dev上开发了一个新的功能,在feature分支上完成了几个commit:
在这里插入图片描述

现在我们想要只合并commit F到dev分支,可以使用cherry-pick:

git checkout dev
git cherry-pick F

这会应用commit F到dev分支,dev分支现在变为:
在这里插入图片描述

可以看到,我们只将feature分支上的F这个commit应用到了dev分支,而不是合并整个feature分支。
这就是cherry-pick的一个简单用法,它可以灵活地挑选修改并应用到当前分支。

http://www.lryc.cn/news/155763.html

相关文章:

  • 【前端】CSS-Flex弹性盒模型布局
  • Android AAPT: error: resource color 异常原因处理
  • C++std::function和std::bind()的概念
  • QT Creator工具介绍及使用
  • python爬虫13:pymysql库
  • 权限管理 ACL、RBAC、ABAC的学习
  • python的re正则表达式
  • 【算法与数据结构】700、LeetCode二叉搜索树中的搜索
  • SpringBoot v2.7.x+ 整合Swagger3入坑记?
  • 说说你了解的 CDC
  • SpingMvc入门
  • JVM的故事——类文件结构
  • springboot自定义表格(动态合并单元格)
  • C++零碎记录(二)
  • 数学建模:回归分析
  • 数据库(一)
  • 【算法与数据结构】106、LeetCode从中序与后序遍历序列构造二叉树
  • kali 安装cpolar内网穿透实现 ssh 远程连接
  • 算法训练 第一周
  • 软件评测师之码制
  • ubuntu18安装cmake27的方法
  • 通讯编程006——NodeJS OPC UA Client开发简单教程
  • 「高等数学」雅可比矩阵和黑塞矩阵的异同
  • 继承(个人学习笔记黑马学习)
  • ToBeWritten之ATTCK 测评方案
  • JSONUtil详解
  • ArcGIS Maps SDK for JS(一):概述与使用
  • 【STM32】FSMC接口的复用和非复用
  • 操作系统强化认识之Shell编程学习与总结
  • 怎么用conda下载清华源的pytorch(自带cuda的版本)