1.Cherry Pick与Create Patch的区别
Cherry Pick与Create Patch的区别
- 结论
- 实验
- 场景1:应用时无冲突
- 场景2: 应用时产生冲突
- 使用cherry pick
- 使用patch
- 场景3:产生冲突,并且有其他文件的变更
- 原理
结论
1.应用无冲突时cherry pick与patch一样,只应用变更的内容;
2.区别在于cherry pick解决冲突时相会对冲突文件进行分支合并(每个commit的引用都可当作分支),而patch只应用变更的内容。
2.1.cherry pick解决冲突时只引用提交中的文件内容,不是全部分支合并。
我们来进行三组实验,分别验证这3个结论。
实验
场景1:应用时无冲突
从master上切出两个分支master-01,master-02。
目标:master-01分支应用master-02的一个提交
步骤:
在master-02分支上提交两次。
在master-01分支上引用master-02的第二次提交,发现引用的是第二次提交的内容,第一次提交的内容没有被引用。验证了论点1
【master-02分支的两次提交】:
【master-01 cherry pick之后:】
场景2: 应用时产生冲突
目标:master-03分支应用master-02的一个提交
步骤:
master-03 提交一个更改,如图1
master-02 提交一个更改(这个更改不想被master-03引用),在与master-03提交的同一处再次提交了一个更改(制造冲突),如图2
图1:
图2:
使用cherry pick
在master-03分支上使用 mater-02的最后一次更改
结果:解决冲突时会合并文件。把整个文件的更改都引用过来了。
使用patch
场景3:产生冲突,并且有其他文件的变更
从master上切出两个分支master-01,master-02。
目标:master-01分支应用master-02的一个提交
步骤:
在master-01分支上进行一次提交;
在master-02分支上提交两次;
在master-02分支上制造一个与master-01分支产生冲突的提交;
在master-01分支上引用master-02的第三次提交,发现冲突时只引用当前提交包含的文件,符合预期,验证了论点3
【master-01进行一次提交】:
【master-02分支的三次提交】:
【master-01 cherry pick之后:】
原理
cherry pick引用的是一个commit,解决冲突时会将包含的文件当作分支进行合并。
patch只是一个提交的变更记录,解决冲突时会当作本地修改进行合并。
1.Cherry Pick与Create Patch的区别相关推荐
- OpenFOAM中:点,线,面,体的概念区别(尤其是face和patch的区别)
OpenFOAM中:点,线,面,体的概念区别(尤其是face和patch的区别) 个人理解如下: face:有序点(point)的集合,物理面的概念 patch:边界面(face)的集合(非内部面), ...
- MySQL+create+base,MySQL中CREATE DATABASE和CREATE SCHEMA的区别
MySQL中CREATE DATABASE和CREATE SCHEMA的区别 create schema 是创建模式 create database 是创建数据库 但进入MySQL不用选择任何数据库即 ...
- git cherry pick
直接将选定的其他分支的commit,提交到该分支上 不建议使用 git rebase --onto 使用cherry pick代替 http://weblog.avp-ptr.de/20120928/ ...
- pgsql之create user与create role的区别
create user的语法 CREATE USER name [ [ WITH ] option [ ... ] ]where option can be:SUPERUSER | NOSUPERUS ...
- 在gerrit上cherry pick多笔提交到一个仓库中
我们的要求是在dvr_service仓库上从其他分支cherry pick 两笔提交到release/b03chn_rel_sop_3_nobo分支 这两笔提交分别如图所示 如图所示,B02-5746 ...
- idea cherry pick 功能 git log 窗口 冲突conflict
git log 窗口 参考 source tree cherry pick, merge conflict merge conflict 冲突 <<<<<<< ...
- IDEA git cherry pick 简单使用
cherry pick的作用: 参考了一些博客, eg: 参考博客1 参考博客2 再做了个小案例后,我目前的理解是,cherry pick的作用是将一个分支的部分提交/历史提交,可以合并到另外一个分支 ...
- SVN—patch的应用(create patch,apply patch)(转)
1.create patch 使用create patch可以生成一个或者多个修改过的文件和当前版本差异的patch(支持目录树) 通常情况下,create patch将修改保存为.patch或. ...
- [gitsourcetree]cherry pick和遴选的使用
前言 cherry pick. 拷贝其中的某一次提交记录. 本文就介绍一种更加快捷的方式 cherry pick. 介绍 此方法主要用于2分支分别独立维护的情况, 即某一分支已经上线了spring-2 ...
最新文章
- 使用eBPFbcc提取内核网络流量信息(二)
- 书Visual C++.NET应用教程(附光盘)——高等学校计算机语言应用教的评论
- android下音频采集功能,音频采集:Android基于AudioRecord的实现
- Jmeter-【JSON Extractor】-响应结果中三级key取值
- 前端学习(2516):传值和引用
- byte转换为string乱码_每日一课 | 如何将int转换为String
- 【线性代数本质】1:向量究竟是什么
- MyEclipse下XFire开发Webservice实例
- 程序员8月薪资新鲜出炉,圈外人却在酸?
- linux a8启动过程,51CTO博客-专业IT技术博客创作平台-技术成就梦想
- opencv笔记(7):直方图均衡化
- Webdriver常用的元素定位
- freetype 2.11.0必须使用VS2012编译
- breadweb控制台下载_路由器刷breed web控制台助手
- DotNetSkin 完美破解
- python代码变成so
- H5通过数据流方式播放视频
- kettle MongoDB数据迁移至Hbase
- 从《我不是潘金莲》谈程序员的核心竞争力
- 未来十年,交易场景,将由刷脸支付全面构建!
热门文章
- 学生信息管理系统测试计划大纲
- win7查看隐藏文件_win7 c盘清理的方法教程
- 【C语言】自定义类型(结构体、位段、枚举、联合体)与内存对齐
- 摩托罗拉 V360i的使用心得
- 论文阅读:Task Discrepancy Maximization for Fine-grained Few-Shot Classification
- STM32F103VET6利用片内FLASH虚拟U盘,使用文件复制方式实现IAP
- 关于Cookie和Session的一些疑惑和猜测
- 微信h5游戏模板案例作品欣赏
- H5案例精选:互动竞速类微信h5游戏欣赏
- 阿里云ECS服务器部署Node.js项目详细教程及多网站部署