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

Git(8)之分支间同步特定提交

Git(8)之分支间同步特定提交

Author:Once Day Date:2024年4月7日

漫漫长路有人对你微笑过嘛…

全系列文章可查看专栏: Git使用记录_Once_day的博客-CSDN博客

文章目录

      • Git(8)之分支间同步特定提交
        • 1. 分支间同步提交
        • 2. `cherry-pick`同步分支间的特定提交
        • 3. 实例展示

1. 分支间同步提交

在使用Git这个强大的分布式版本控制系统时,经常会遇到需要将一个分支的提交同步到另一个分支的情况。

第一种情况是同步分支上所有改动到另外一个分支,非常常见,这里只是简单介绍一下。

  • 最直接的方法是使用git merge命令。例如,想要把一个分支(比如feature)上的改动合并到另一个分支(比如master)时,可以先切换到目标分支master,然后执行git merge feature。这样,feature分支上的所有提交就会被合并到master上。如果遇到冲突,Git会提示需要手动解决。

  • 另外一种方法是使用git rebase命令。Rebase的意思是变基,简单来说就是把一个分支上的修改放到另一分支的最前面。这样做的好处是能够创建一个更干净、线性的提交历史。使用方法是先切换到要同步的分支,比如feature,然后执行git rebase master。这样feature分支就会把master分支上新的提交应用到feature分之前。在变基的过程中,如果发生冲突,也需要手动解决。

第二种情况是同步某一个特定的提交,例如需要把develop版本分支上的auto-test测试代码提交同步到temp版本分支上。

  • 最常见的方式是手动把auto-test代码全部复制一遍,然后再提交新的commit到temp版本分支上,这个方式效率较低,需要人工同步每个改动,也容易产生遗漏。
  • 通过git stash命令暂存提交,然后在temp版本分支应用修改(apply stash),效率较好,但是需要提前保存改动信息,而且commit信息也还是需要在输入一遍。
  • 使用git cherry-pick命令选择一个或几个提交,然后在temp分支上重新应用。这个方式效率最高,代码改动和提交信息都是直接照搬原有develop分支,不需要额外输入信息。

在实际工作中,上述的几种方法都可以使用。不管是全自动化的同步还是手动同步,最好都人工再审核一遍,毕竟一旦出了问题,耗费时间和精力远比人工检查要多。

2. cherry-pick同步分支间的特定提交

git cherry-pick是一个非常实用的Git命令,它允许选择性地将某个分支上的单个提交(或一系列提交)应用到当前分支上。

这个命令的名称来源于“挑选樱桃”的比喻,意味着可以从众多提交中精选出需要的那几个。

git cherry-pick命令的基本格式如下,其中<commit-hash>是希望应用的提交的哈希值:

# 通过git log或者其他手段来获取commit iD
git cherry-pick <commit-hash>

如果这个提交能够顺利地应用到当前分支上,而没有任何冲突,那么可以看到一个新的提交出现在当前分支的提交历史中这个新提交的内容与通过cherry-pick命令选取的原始提交的内容相同,但是它会有一个新的提交哈希值

如果在应用某个提交时遇到了冲突,Git会停止cherry-pick操作,并需要手动编辑冲突的文件,最后使用git add命令来标记冲突已经解决。在解决完所有冲突并更新索引后,可以通过git cherry-pick --continue来继续应用提交

如果决定不应用当前的cherry-pick操作,可以使用git cherry-pick --abort来取消

git cherry-pick还支持一些有用的选项,例如:

  • -n--no-commit:应用更改但不自动创建提交,允许手动合并多个提交的更改,并最终作成一个提交。
  • -e--edit:在提交时打开编辑器,让你可以编辑提交信息。
  • -x:在提交信息中包含一个说明,指出提交是通过cherry-pick从哪个提交哈希值应用过来的。

git cherry-pick常用于修复bug,当在测试分支上发现了一个bug,并在该分支上修复后,可以通过cherry-pick将修复的提交应用到生产分支上。

3. 实例展示

首先确认需要同步的源分支和目标分支。

ubuntu->tdata:$ git branch -adevelop
* masterremotes/origin/HEAD -> origin/masterremotes/origin/master

从上述命令中,有四个分支,两个远程分支,两个本地分支。我们主要从develop分支同步最新提交到master分支上。

在master分支上通过git log获取提交commit(或者其他手段),如下所示:

ubuntu->tdata:$ git log develop
commit bc75713f30a34e292f59f39d439c08f7ea6b21ed (develop)
Author: Once Day <onceday@qq.com>
Date:   Sun Apr 7 22:55:59 2024 +0800save filescommit d71a12145f1ccd8d8f93f1cc937b70fa22d3ce27 (HEAD -> master, origin/master, origin/HEAD)
Author: Once Day <onceday@qq.com>
Date:   Sat Mar 9 21:50:05 2024 +0800save some
......

第一个提交就是需要同步的提交,复制其commit值,然后使用git cherry-pick命令同步

ubuntu->tdata:$ git cherry-pick bc75713f30a34e292f59f39d439c08f7ea6b21ed
[master 69dc035] save filesDate: Sun Apr 7 22:55:59 2024 +08009 files changed, 405 insertions(+), 29 deletions(-)create mode 100644 cs-test/alias-test.ccreate mode 100644 cs-test/hash-test.ccreate mode 100644 perf-ana/git-sync-simple.shcreate mode 100755 perf-ana/git-sync.shcreate mode 100644 perf-ana/objdump-func.shubuntu->tdata:$ git log
commit 69dc035383d742c95ea2814972191d82ba9a91a3 (HEAD -> master)
Author: Once Day <onceday@qq.com>
Date:   Sun Apr 7 22:55:59 2024 +0800save files

一般情况下,都是非常顺利直接同步,如果存在冲突,手动merge即可。

相关文章:

Git(8)之分支间同步特定提交

Git(8)之分支间同步特定提交 Author&#xff1a;Once Day Date&#xff1a;2024年4月7日 漫漫长路有人对你微笑过嘛… 全系列文章可查看专栏: Git使用记录_Once_day的博客-CSDN博客 文章目录 Git(8)之分支间同步特定提交1. 分支间同步提交2. cherry-pick同步分支间的特定提交…...

万得AI算法工程师一面面试题6道|含解析

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学&#xff0c;针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 今天…...

蓝桥杯23年第十四届省赛-异或和之和|拆位、贡献法

题目链接&#xff1a; 蓝桥杯2023年第十四届省赛真题-异或和之和 - C语言网 (dotcpp.com) 1.异或和之和 - 蓝桥云课 (lanqiao.cn) 参考题解&#xff1a; 蓝桥杯真题讲解&#xff1a;异或和之和 &#xff08;拆位、贡献法&#xff09;-CSDN博客 洛谷P9236 [蓝桥杯 2023 省 A]…...

Unity进阶之路(1)回顾与思考

首先呢&#xff0c;博主在这里先反思一下自己这几个月&#xff0c;其实并没有多少进步。 在寒假中&#xff0c;博主几乎是独立编写了一个小程序的完整UI和一个Uniapp的雏形。那段时间是博主生产力最高的时间段。几乎是每天8点起来开始编写代码&#xff0c;晚上一直忙到很晚。 …...

【C语言】——指针八:指针运算笔试题解析

【C语言】——指针八&#xff1a;指针运算笔试题解析 一、题一二、题二三、题三四、题四五、题五六、题六七、题七 一、题一 //程序输出结果是什么 int main() {int a[5] { 1,2,3,4,5 };int* ptr (int*)(&a 1);printf("%d, %d", *(a 1), *(ptr - 1));return…...

JVM字节码与类的加载——class文件结构

文章目录 1、概述1.1、class文件的跨平台性1.2、编译器分类1.3、透过字节码指令看代码细节 2、虚拟机的基石&#xff1a;class文件2.1、字节码指令2.2、解读字节码方式 3、class文件结构3.1、魔数&#xff1a;class文件的标识3.2、class文件版本号3.3、常量池&#xff1a;存放所…...

小程序如何通过公众号发送新订单提醒

当客户在小程序上下单后&#xff0c;公众号会发送订单通知&#xff0c;这可以让管理员及时获知用户下单情况&#xff0c;方便及时处理订单和提供服务。下面是具体介绍如何设置公众号来发送订单服务通知。 方式一&#xff1a;通过采云公众号发送订单通知 此种方式是默认的通知…...

聊聊公众号最让我不爽的两个痛点

本文首发于 Python猫 微信公众号最让我不爽的地方有两个&#xff0c;而且有很多人虽然也不爽&#xff0c;却不知道原因。 本文想聊聊公众号的两个痛点&#xff0c;因为我经常收到私信问这两个问题&#xff0c;本文算是一次集中的回复吧。 第一个不爽的点是公众号会屏蔽外链&…...

【leetCode】2810. 故障键盘

文章目录 [2810. 故障键盘](https://leetcode.cn/problems/faulty-keyboard/)思路一&#xff1a;模拟代码&#xff1a;思路二&#xff1a;双端队列代码&#xff1a; 2810. 故障键盘 思路一&#xff1a;模拟 用StringBuilder来拼贴字符遍历字符串&#xff0c;如果遇到i,对拼贴好…...

xshell7连接ubuntu18.04

&#x1f3a1;导航小助手&#x1f3a1; 1.查看ubuntu IP2.开启openssh-server3.静态IP设置4.Xshell连接 1.查看ubuntu IP 输入下面命令查看IP ifconfig -a可以看到网卡是ens33&#xff0c;IP为192.168.3.180。 2.开启openssh-server 1、执行下句&#xff0c;下载SSH服务 s…...

真正的力量:实力与人际关系的平衡艺术

在当今社会&#xff0c;人们常常在追求个人发展和建立良好人际关系之间寻找平衡。有一种观点认为&#xff0c;“没有实力&#xff0c;就不要对别人好。不然&#xff0c;很容易被定义为讨好。”这句话在一定程度上揭示了实力与人际关系之间的微妙联系。本文将探讨这一观点的深层…...

Acwing.1388 游戏(区间DP对抗思想)

题目 玩家一和玩家二共同玩一个小游戏。 给定一个包含 N个正整数的序列。 由玩家一开始&#xff0c;双方交替行动。 每次行动可以在数列的两端之中任选一个数字将其取走&#xff0c;并给自己增加相应数字的分数。&#xff08;双初始分都是 0分&#xff09; 当所有数字都被…...

Numpy数组转换为csv文件

参考&#xff1a;Converting Numpy Array to CSV 在数据分析和处理中&#xff0c;经常会涉及到将数据从一个形式转换为另一个形式的操作。 其中&#xff0c;将Numpy数组转换为csv文件是一种常见的操作&#xff0c;因为csv文件是一种通用的数据存储格式&#xff0c;方便与其他软…...

替代安全指标(Surrogate Safety Measures (SSM) )

替代安全措施&#xff08;Surrogate Safety Measures (SSM) &#xff09;用于从数据中寻找接近碰撞&#xff0c;或可能发生&#xff08;但实际没有发生&#xff09;的碰撞事件。 SSM的两个合格标准&#xff1a; &#xff08;1&#xff09;它应该来自与碰撞直接相关的交通冲突&…...

usb_camera传输视频流编码的问题记录!

前言&#xff1a; 大家好&#xff0c;今天给大家分享的内容是&#xff0c;一个vip课程付费的朋友&#xff0c;在学习过程中遇到了一个usb采集的视频数据流&#xff0c;经过ffmpeg编码&#xff0c;出现了问题&#xff1a; 问题分析&#xff1a; 其实这个问题不难&#xff0c;关键…...

Linux安装nginx保姆级教程

文章目录 前言一、nginx安装&#xff08;保姆级教程&#xff09;1.安装nginx依赖2.安装wget3.创建nginx安装目录4.下载nginx5.查看下载好的nginx6.解压缩7.查看当前目录下的文件→进入nginx-1.8.0目录→查看当前目录下的文件8.安装nginx9.查看nginx安装目录并启动nginx10.网络请…...

leetcode-判断二分图

. - 力扣&#xff08;LeetCode&#xff09; 存在一个 无向图 &#xff0c;图中有 n 个节点。其中每个节点都有一个介于 0 到 n - 1 之间的唯一编号。给你一个二维数组 graph &#xff0c;其中 graph[u] 是一个节点数组&#xff0c;由节点 u 的邻接节点组成。形式上&#xff0c…...

算法day30 回溯6

332 重新安排行程 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&#xff0c;所以该行程必须从 JFK …...

分享three.js实现乐高小汽车

前言 Web脚本语言JavaScript入门容易&#xff0c;但是想要熟练掌握却需要几年的学习与实践&#xff0c;还要在弱类型开发语言中习惯于使用模块来构建你的代码&#xff0c;就像小时候玩的乐高积木一样。 应用程序的模块化理念&#xff0c;通过将实现隐藏在一个简单的接口后面&a…...

gpt的构造和原理

gpt是序列预测模型。 问答是通过确定问答格式样本训练出来的&#xff01;比如“Q&#xff1a;xxxx.A:xxx"本质还是根据前面的序列预测后面的序列。在自回归训练过程中&#xff0c;文本序列&#xff08;可能包含问题和紧随其后的答案&#xff09;被视为一个整体输入到模型…...

基于springboot实现教师人事档案管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现IT技术交流和分享平台系统演示 摘要 我国科学技术的不断发展&#xff0c;计算机的应用日渐成熟&#xff0c;其强大的功能给人们留下深刻的印象&#xff0c;它已经应用到了人类社会的各个层次的领域&#xff0c;发挥着重要的不可替换的作用。信息管理作为计算…...

K8S之Job和CronJob控制器

这里写目录标题 Job概念适用场景使用案例 CronJob概念适用场景使用案例 Job 概念 Job控制器用于管理Pod对象运行一次性任务&#xff0c;例如&#xff1a;对数据库备份&#xff0c;可以直接在k8s上启动一个mysqldump备份程序&#xff0c;也可以启动一个pod&#xff0c;这个pod…...

基于SSM的基于个人需求和地域特色的外卖推荐系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的基于个人需求和地域特色的外卖推荐系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…...

哈佛大学商业评论 --- 第三篇:真实世界中的增强现实

AR将全面融入公司发展战略&#xff01; AR将成为人类和机器之间的新接口&#xff01; AR将成为人类的关键技术之一&#xff01; 请将此文转发给您的老板&#xff01; --- 本文作者&#xff1a;Michael E.Porter和James E.Heppelmann 虽然物理世界是三维的&#xff0c;但大…...

华为ICT七力助推文化产业新质生产力发展

创新起主导作用的新质生产力由新劳动者、新劳动对象、新劳动工具、新基础设施等四大要素共同构成&#xff0c;符合新发展理念的先进生产力质态&#xff1b;具有高科技、高能效、高质量等三大突出特征。而通过壮大新产业、打造新模式、激发新动能&#xff0c;新质生产力能够摆脱…...

FastGpt流程

1.知识库 引入文本——>数据清洗 最好将pdf/ppt/xx转换成文本&#xff0c;在文本里面进行数据清洗&#xff08;以防知识库删除后&#xff0c;数据清洗失效&#xff09; 可以插图&#xff0c;将图片通过网页检查F12查看路径放进去 或者直接在csdn放&#xff0c;直接复制链接…...

怎么在UE游戏中加入原生振动效果

我是做振动触感的。人类的五感“视听嗅味触”&#xff0c;其中的“触”就是触觉&#xff0c;是指皮肤、毛发与物体接触时的感觉。触感可以带来更加逼真的沉浸式体验。但也许过于司空见惯&#xff0c;也是习以为常&#xff0c;很多人漠视了触感的价值。大家对触感的认知还远远不…...

【Hadoop技术框架-MapReduce和Yarn的详细描述和部署】

前言&#xff1a; &#x1f49e;&#x1f49e;大家好&#xff0c;我是书生♡&#xff0c;今天的内容主要是Hadoop的后两个组件&#xff1a;MapReduce和yarn的相关内容。同时还有Hadoop的完整流程。希望对大家有所帮助。感谢大家关注点赞。 &#x1f49e;&#x1f49e;前路漫漫&…...

蓝桥杯刷题 前缀和与差分-[3507]异或和之和(C++)

题目描述 给定一个数组 Ai&#xff0c;分别求其每个子段的异或和&#xff0c;并求出它们的和。 或者说&#xff0c;对于每组满足 1≤L≤R≤n 的 L&#xff0c;R求出数组中第 L 至第 R 个元素的异或和。 然后输出每组 L&#xff0c;R 得到的结果加起来的值。 输入格式 输入…...

background背景图参数边渐变CSS中创建背景图像的渐变效果

效果:可以看到灰色边边很难受,希望和背景融为一体 原理: 可以使用线性渐变&#xff08;linear-gradient&#xff09;或径向渐变&#xff08;radial-gradient&#xff09;。以下是一个使用线性渐变作为背景图像 代码: background: linear-gradient(to top, rgba(255,255,255,0)…...

网站建设里面链接打不开/seo站群优化

原因 在SerialPort.c的代码中有使用到「tcgetattr」方法 而「tcgetattr」方法存在于「termios.h」头文件中在api 19 之后的「termios.h」 里面的函数有调整&#xff0c;api版本设置不对会导致在不兼容的android版本下出现这个错误。 我编译.so库时把minSdkVersion设置成21了&am…...

开源的网站后台程序/外链图片

通过和全球业界伙伴、高校、研究机构之间的广泛合作AMD一直致力于异构计算生态系统的建立和发展。我们将APU/GPU异构开发资源分享于此&#xff0c;并持续更新中&#xff0c;给开发人员以启发和参考&#xff1b;同时&#xff0c;我们希望能抛砖引玉&#xff0c;期待大家的参与与…...

做网站产品图片素材/温州最好的seo

正题 很明显可以知道只通过T1贪或者T2都是不行的。 如果让你做&#xff0c;你会怎么做&#xff1f; 首先把T2排好序。 其次从前往后&#xff0c;如果可以做的肯定要做&#xff0c;这个没有什么问题。 如果做不了呢&#xff1f;我们就看一下前面有没有什么占用空间更大的&#x…...

网站设置为起始页/软文文案范文

1 #以下代码是利用方法1 2 #-*- coding: utf-8 -*- 3 importrequests;4 importsys;5 importio;6 #重点&#xff1a;标准解析库 7 from bs4 importBeautifulSoup;8 sys.stdout io.TextIOWrapper(sys.stdout.buffer,encodingutf8); #改变标准输出的默认编码 9 #根据cookies访问后…...

自己做网站怎样挣钱/seo的作用有哪些

导读&#xff1a;最新的10月统计数据显示&#xff0c;我国企业生产经营活动的指数——综合PMI产出指数为52%&#xff0c;比9月回落1.1%&#xff0c;表明企业生产经营总体延续扩张态势但有所减缓。面对这样的经济环境&#xff0c;企业需要花更大的力气才能保住利润。 所谓“干毛…...

昆山网站建设ikelv/百度收录网站链接入口

实战需求 SwiftUI 内功 Scrollview 根据滚动内容切换背景颜色 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 掌握 LazyVStack掌握 @ViewBuilder掌握 coordinateSpace掌握 onPreferenceChange掌握 GeometryReader基础知识 GeometryReader 一…...