git的实验:cherry-pick,github对比代码的两种方式

某个commit,比如 c1,,最早是在a分支做的,当被cherry-pick到b分之后,还是一样的revision吗?

实验1:c1被cherry-pick到别的分支后,revision不变对吗?(答案是变了)

做实验:

  1. 从main分支拉出 test_cherry_pick1test_cherry_pick2 分支,起点一样。
  2. test_cherry_pick1 分支,新增改动,提交得到 c1(42f31d5c96be19a4b5f00e7e986799147ba66139)
  3. 切换到 test_cherry_pick2,cherry-pick c1 到该分支
  4. 检查一下两个分支关于该改动的uuid(commit id)是否一样?

结论

大为震惊,居然不一样,得到的是 0a5f55380aec54880a0759102c4841dd467b39d0, 跟之前的居然不一样!!


实验2:三点对比和两点对比

关于 github 的三点对比

  • 三点对比commit差异
  • 两点对比绝对差异

做实验:

  1. 从main分支拉出 test_two_way_diff1 和 test_two_way_diff2 分支,起点相同
  2. test_two_way_diff1 分支修改某个文件的a行,提交,产生 c1(aa400fb)
  3. test_two_way_diff2 分支修改该文件的的b行,提交,产生c2 (e872e65)
  4. 合并 test_two_way_diff2 到 test_two_way_diff1 (产生了c3 4a38f1e 来承载合并)
  5. 使用三点对比和两点对比,感受一下对比的结果的差异
  • 三点比较:因为所有在 test_two_way_diff2 的commit,在test_two_way_diff1 都包含,所以是没有差异的(这种就是对比了commit

    三点比较是因为用三个点 ... 隔开两个比较的分支,如:https://github.com/xxxxx/test_pr_private/compare/master…test_cherry_pick1

    两点比较是用了两个店 .. 如:https://github.com/xxxxx/test_pr_private/compare/master…test_cherry_pick1

    在这里插入图片描述

在这里插入图片描述

可以看到 test_two_wa_diff1 分支按照时间由近到远是由这些

commit组成的

4a38f1e

e872e65

aa400fb

所以可以发现,其实将 test_two_way_diff2 合并到 test_two_way_diff1之后,其 e872e65 也是被囊括在 test_two_way_diff1 里了这就是为什么用两点对比(对比commit)的时候 test_two_way_diff2相对于 test_two_way_diff1 没有任何更改,因为2里有的1都有了没有更多需要合并过来的commit了

  • 两点比较:比较的是 .. 后面的分支相较于前面的分支的绝对差异(文件的差异)

    可以看到文件差异肯定是有的,毕竟 test_cherry_pick1 里头有些改动是 test_cherry_pick1里所没有的,文件之间是有差异的

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/160690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

druid keepAlive 导致数据库连接数飙升

一.背景 应用在执行完某个复杂业务,主要包含20几个查询SQL的操作后,会导致数据库连接池一直升高 druid版本:1.2.11 druid配置文件: spring.datasource.druid.maxActive100 spring.datasource.druid.initialSize20 spring.datas…

python解决登录图形验证码

摘要:测试过程中经常遇到图片验证码,以下主要是调用百度OCR图片识别获取验证码,实现登录 1、百度云申请创建应用

【自动驾驶】一些业内自动驾驶专业术语释义

Trajectory 轨迹信息,一般都会发布未来5-10秒的trajactory信息。 Trajectory flicker 轨迹抖动 Nudge 道内避障。在维持车道不变的情况下,横向偏离车道中心以绕开obstacle/agent。 Xlane Nudge 借道避障。借用对向车道或自行车道以绕开obstacle/a…

VMware Workstation 与 Device/Credential Guard 不兼容 解决办法

问题描述 问题描述: VMware 启动虚拟机会报错。无法运行。 错误信息:VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 原因分析: 通常原因是 Window 系统开启了 内置的Hyper-V 虚拟机。 解决方案&…

气死了,过五关,斩六将,结果被 HR 捅了一刀!!

Hello,大家好,我是 Sunday。 大家有没有遇到过这样的事情:“过五关,斩六将。通过了两轮、甚至是三轮的技术面,最后 HR 面被“捅死”了” 这样的事情,最近在一位同学身上连续出现了两次,弄得人…

【资深硬件工程师总结-千兆以太网设计指南】

文章目录 01通用PCB布线指南02标志焊盘中的接地过孔区示例03EMI注意事项04ESD注意事项 资深硬件工程师总结-千兆以太网设计指南 本应用笔记旨在帮助客户使用Microchip的10/100/1000 Mbps以太网器件系列设计PCB。本文档提供有关PCB布线的建 议, PCB 布线是保持信号完…

【算法挨揍日记】day30——300. 最长递增子序列、376. 摆动序列

300. 最长递增子序列 300. 最长递增子序列 题目解析: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如&#…

递增递减运算符 ++ -- 前置后置的区别

1 18 运算符-算术运算符-递增递减_哔哩哔哩_bilibili 2 .1 #include <iostream> using namespace std; int main() {int a 0;int b 0;a ;b ;cout << "a " << a << endl;cout << "b " << b << endl;} 输出…

whip和whep

原文为runner365.git大佬的文章 原文链接&#xff1a;https://blog.csdn.net/sweibd/article/details/124552793 WHIP接口 什么是whip 全称: WebRTC-HTTP ingestion protocol (WHIP). rfc地址: rfc-draft-murillo-whip-00 简单说&#xff0c;就是通过HTTP接口能导入webrtc媒…

上位机与plc写心跳定时扫描连接状态

方法一&#xff1a;上位机读plc的某个地址&#xff0c;每秒 置0和置1&#xff0c;plc检查地址值每3秒值都是1就报错。 方法二&#xff1a;上位机每两秒给地址置1&#xff0c;plc一秒读到1就清除信号&#xff0c;读到0说明心跳掉线了。

C++电脑组装项目(涉及知识点:多态)

需求&#xff1a; #include <iostream> #include "Computer.h" #include "AbstractCpu.h" #include "AbstractMemory.h" #include "AbstractVideoCard.h" #include "IntelCpu.h" #include "IntelMemory.h" …

Redis的持久化(新)

Redis中数据都保存在内存&#xff0c;但是内存中的数据变换很快&#xff0c;也很容易丢失&#xff0c;比如连接断开、宕机停机等等。而Redis提供的数据持久化机制有RDB(Redis DataBase)和AOF(Append Only File)。 1.RDB RDB是指在指定的时间间隔内将内存中的数据集快照写入到磁…

HTML玩转超链接a标签

大家应该都知道&#xff0c;a标签主要是转跳链接&#xff0c;接下来&#xff0c;让我为大家介绍一下a标签的使用&#xff01; 主要的作用&#xff1a;从当前页面进行跳转 标签名标签语义常用属性单/双标签a超链接href&#xff1a;要跳转的具体位置 target&#xff1a;跳转时如…

第一百七十七回 如何创建垂直方向的Switch

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法3. 示例代码4. 内容总结我们在上一章回中介绍了"如何创建渐变色边角"相关的内容,本章回中将介绍" 如何创建垂直方向的Switch".闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在前面…

zookeeper单机版的搭建

一 zookeeper的搭建 1.1 上传zkjar包 1.2 搭建配置 1.解压压缩包 [rootlocalhost export]# tar -zxvf zookeeper-3.7.0-bin.tar.gz 2.创建data文件夹 [rootlocalhost export]# cd apache-zookeeper-3.7.0-bin/ [rootlocalhost apache-zookeeper-3.7.0-bin]# ls bin conf…

利用人工智能打破应试教育惯性促进学生思维活化与创新能力培养的研究

全文均为人工智能独立研究完成 应试教育导致学生迷信标准答案惯性导致思维僵化-移动机器人-CSDN博客 用AI魔法打败AI魔法-CSDN博客 课题名称建议&#xff1a;“利用人工智能打破应试教育惯性&#xff0c;促进学生思维活化与创新能力培养研究”。 这个课题名称明确指出了研究的…

高斯消元(完全主元法 and 部分主元法) C++代码

部分主元法高斯消元 /* 算法步骤&#xff1a;1.枚举每一列&#xff0c;找到绝对值最大的一行2.将该行和第一行交换3.将该行行首置为一4.将下面所有行第 i 列置为零 */#include <iostream> #include <cmath>using namespace std; const int N 109; const double e…

Linux内核的内存管理

Linux内核源码内存管理主要包括以下几个部分&#xff1a; 1. 物理内存管理&#xff1a;这部分主要负责将物理内存划分为不同的页表项&#xff0c;以便操作系统能够快速地访问和操作内存。 2. 虚拟内存管理&#xff1a;这部分主要负责将用户空间的地址映射到物理内存中&#x…

linux之进程地址空间

文章目录 1.进程地址空间回顾1.1进程地址空间划分1.2验证进程地址空间划分1.简单划分2.完整划分 2.初探进程地址空间2.1初看现象2.2Makefile的简便写法 3.进程地址空间详解3.1地址空间是什么?3.2地址空间的设计/由来3.3空间区域划分3.4如何理解地址空间?3.5解释3.2的&#x1…

警惕.locked勒索病毒,您需要知道的预防和恢复方法。

尊敬的读者&#xff1a; 随着网络技术的进步&#xff0c;勒索病毒已经成为一种极具威胁性的网络犯罪工具之一。其中&#xff0c;.locked勒索病毒是一种采用高级加密算法的恶意软件&#xff0c;目的是加密用户的文件&#xff0c;并勒索赎金以提供解密密钥。本文将介绍如何应对被…