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

关于Git分支合并,跨仓库合并方式

关于Git合并代码的方式说明

文章目录

  • 关于Git合并代码的方式说明
    • 前情提要
    • 开始合并
    • 方式一:git merge
    • 方式二:git cherry-pick
    • 方式三:git checkout
  • Git跨仓库合并的准备事项
    • 前提
    • 拉取源仓库代码

前情提要

同仓库不同分支代码的合并可直接往下看文档说明,跨仓库分支代码的合并操作之前要先拉取源仓库分支代码,

请参考:关于Git跨仓库合并代码的准备事项

另注: 以下操作说明均以Git客户端的Git Bash命令窗口操作,请提前下载TortoiseGit客户端并配置好SSH免密登录。

开始合并

打开分支代码所在文件目录,右击空白处点击Git Bash Here,打开命令执行窗口

PS: 不想敲命令的话,TortoiseGit也提供了GUI操作页面—Git GUI Here

在这里插入图片描述

方式一:git merge

使用场景若是针对整个分支的覆盖合并,可使用该命令,若只是部分更新,不要使用该命令!!!不要使用!!!不要!!!
该命令简单上网搜索即可,此处不做赘述。

方式二:git cherry-pick

使用场景针对单次提交、多次提交的合并操作

  1. git cherry-pick <commitId>: 单个commit的合并。

    举个栗子:

    • 使用git checkout -b命令新建dev分支,

      在这里插入图片描述

    • 使用git checkout master命令切回master分支,修改当前目录下的test文件。使用git status查看文件状态。

      在这里插入图片描述

    • 提交该文件,红框内就是本次提交的commitId

      在这里插入图片描述

      **注意了注意了注意了:**我这里要提交我修改的全部文件 所以后面带的参数是-am 若是部分文件的提交 那就是-m

    • 切到dev分支,进行合并

      在这里插入图片描述

    • 执行单次commit合并的命令,合并到dev后会形成一个新的commitId
      在这里插入图片描述

    • 查看dev分支上当前提交者的具体内容

      在这里插入图片描述

      注: --author 提交者 后面带的参数就是提交者的账号 --stat是优化内容格式展示的命令,非必须

  2. git cherry-pick <commitId-1> <commitId-2>…:多个commit的合并

    举个栗子:本次栗子中的命令均是使用了命令缩写,缩写配置可上网查看,此处概不赘述。

    • 在master分支上连续提交两次修改

      在这里插入图片描述

    • 切换到dev分支,同时合并此次的两次commit

      在这里插入图片描述

    • 查看dev分支的提交日志

      在这里插入图片描述

  3. git cherry-pick <commitId-1>…<commitId-n>/<commitId-1>^…<commitId-n>:某个commit区间的合并

    注意!注意!!注意!!!:区间范围前者前开后闭,后者双闭合

    举个栗子:

    • 在master上执行三次commit

在这里插入图片描述

  • 切到dev分支,采用区间合并方式来合并代码

    在这里插入图片描述

    **注意注意:**本次执行的是前开后闭的区间合并命令,所以起始的commitId是倒四的commitId

  • dev的提交日志查看验证

    在这里插入图片描述

方式三:git checkout

使用场景:针对文件的覆盖合并

举个栗子:

  • 在master分支上修改test.txt文件

    在这里插入图片描述

  • 在dev上也修改test.txt文件

在这里插入图片描述

  • 放弃dev上的修改,以master分支上的test文件修改为主,就可以直接把master分支上的test文件覆盖过来

    在这里插入图片描述

Git跨仓库合并的准备事项

本文举例均已文档撰写人本地文档目录为例,文档阅读者要以自身文档目录为准参考操作

前提

​ 以下称呼要拉取的代码仓库为源仓库,合并到的仓库为目标仓库

​ 从源仓库拉取代码合并到目标仓库

拉取源仓库代码

  1. 步骤一:进入九师市域git仓库目录,右键打开Git客户端执行窗口

在这里插入图片描述

  1. 步骤二: 执行添加源仓库地址,并命名为src

    在这里插入图片描述

    添加成功验证:
    在这里插入图片描述

3.步骤三: 代码拉取

在这里插入图片描述

  1. 步骤三: 新建分支,并将源仓库的master分支代码拉取到此分支下

    在这里插入图片描述

    说明一下哦:git checkout -b 新建分支并取名source,并将源仓库src下的master分支代码拉取到新建的source分支上

  2. 结束

    跨仓库合并代码的准备事项至此结束,后续的合并操作就是两个分支的合并操作了,参考前面分支合并操作即可。

相关文章:

关于Git分支合并,跨仓库合并方式

关于Git合并代码的方式说明 文章目录 关于Git合并代码的方式说明前情提要开始合并方式一&#xff1a;git merge方式二&#xff1a;git cherry-pick方式三&#xff1a;git checkout Git跨仓库合并的准备事项前提拉取源仓库代码 前情提要 同仓库不同分支代码的合并可直接往下看文…...

[网络] UDP协议16位校验和

16位校验和是udp报头中的一个字段,绝大多数的教材和网课都会忽略这个字段,不去细究,我闲的蛋疼问了问ai,得到了一个答案,故作此文,以证明我爱学习之心惊天地泣鬼神(狗头 ai的回答 仅从作用来说,它会根据整个应用层报文进行运算,生成一个准确的数字,这个数字不能保证唯一性,但根…...

Vue 3 中的 `update:modelValue` 事件详解

在 Vue 3 中&#xff0c;update:modelValue​ 事件通常与 v-model​ 指令一起使用&#xff0c;以实现自定义组件的双向数据绑定。以下是对该事件的详细分析&#xff1a; 事件定义 首先&#xff0c;我们需要在组件中定义 update:modelValue​ 事件。可以使用 defineEmits​ 函…...

vue3+vite+ts 使用webrtc-streamer播放海康rtsp监控视频

了解webrtc-streamer webrtc-streamer 是一个使用简单机制通过 WebRTC 流式传输视频捕获设备和 RTSP 源的项目&#xff0c;它内置了一个小型的 HTTP server 来对 WebRTC需要的相关接口提供支持。相对于ffmpegflv.js的方案&#xff0c;延迟降低到了0.4秒左右&#xff0c;画面的…...

QT数据库(四):QSqlRelationalTableModel 类

关系数据库概念 例如下列departments、majors、studInfo 这 3 个数据表之间存在关系。 主键与外键 标记“**”的是主键字段&#xff0c;标记“*”的是外键字段。主键字段是一个数据表中表示记录唯一性的字段&#xff0c;例如 studInfo 数据表中的 studID 字段。外键字段是与其…...

蓝桥杯刷题——day5

蓝桥杯刷题——day5 题目一题干解题思路一代码解题思路二代码 题目二题干解题思路代码 题目一 题干 给定n个整数 a1,a2,⋯ ,an&#xff0c;求它们两两相乘再相加的和&#xff0c;即&#xff1a; 示例一&#xff1a; 输入&#xff1a; 4 1 3 6 9 输出&#xff1a; 117 题目链…...

YOLO11改进-模块-引入多尺度差异融合模块MDFM

遥感变化检测&#xff08;RSCD&#xff09;专注于识别在不同时间获取的两幅遥感图像之间发生变化的区域。近年来&#xff0c;卷积神经网络&#xff08;CNN&#xff09;在具有挑战性的 RSCD 任务中展现出了良好的效果。然而&#xff0c;这些方法未能有效地融合双时相特征&#x…...

vlan和vlanif

文章目录 1、为什么会有vlan的存在2、vlan(虚拟局域网)1、vlan原理1. 为什么这样划分了2、如何实现不同交换机相同的vlan实现互访呢3、最优化的解决方法&#xff0c;vlan不同交换机4、vlan标签和vlan数据帧 5、vlan实现2、基于vlan的划分方式1、基于接口的vlan划分方式2、基于m…...

Apache Kylin最简单的解析、了解

官网&#xff1a;Overview | Apache Kylin 一、Apache Kylin是什么&#xff1f; 由中国团队研发具有浓厚的中国韵味&#xff0c;使用神兽麒麟&#xff08;kylin&#xff09;为名 的一个OLAP多维数据分析引擎:&#xff08;据官方给出的数据&#xff09; 亚秒级响应&#xff…...

MySQL——连接

一.引入库 我们已经分享了很多通过命令行方式去操作数据库&#xff0c;那么数据库该怎么通过语言去访问呢&#xff1f; 这里分享怎么通过C/C来连接数据库。 首先需要到MySQL官网&#xff0c;下载专门用于C/C连接数据库的库&#xff0c;但是一般不需要再去官网下载。 因为在…...

前端微服务实战:大型应用的拆分与治理

"这个系统已经无法维护了..."周五的架构评审会上,我盯着屏幕上那张错综复杂的依赖关系图发愁。作为一个运行了三年的企业级中后台系统,代码量已经超过 50 万行,构建时间长达 40 分钟,任何修改都可能引发连锁反应。 更让人头疼的是,随着业务的快速发展,不同业务线之间…...

Linux shell的七大功能 --- history

1.直接输入“history” 这个命令可以显示出曾经使用过的命令&#xff08;最近时间的500条&#xff09; history 2.“history”命令也可以搭配其他命令一起使用。 例&#xff1a;history | grep "vim"&#xff0c;找出所有包含“vim”的记录&#xff1b; 也可以搭配…...

C++ webrtc开发(非原生开发,linux上使用libdatachannel库)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、libdatachannel库的下载和build二、开始使用 1.2.引入库3.开始使用 总结 前言 使用c开发webrtc在互联网上留下的资料甚少&#xff0c;经过我一段时间的探…...

C语言刷题

1. 题目描述 根据给出的三角形3条边a:b.c(a.b,c<100.000)&#xff0c;计算三角形的周长和面积。 输入描述: 一行&#xff0c;三角形3条边(能构成三角形)&#xff0c;中间用一个空格隔开. 输出描述: 一行&#xff0c;三角形周长和面积保留两位小数&#xff0c;中问用一个空…...

LabVIEW实现RFID通信

目录 1、RFID通信原理 2、硬件环境部署 3、程序架构 4、前面板设计 5、程序框图设计 6、测试验证 本专栏以LabVIEW为开发平台,讲解物联网通信组网原理与开发方法,覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合实际案例,展示如何利用LabVIEW和常用模块实现物联网系…...

Linux 网络流量控制 - 实现概述

摘要 Linux 提供了一整套丰富的流量控制(traffic control)功能。本文档概述了相应的内核代码设计&#xff0c;描述了其结构&#xff0c;并通过描述一种新的排队策略来说明新元素的添加。 1 引言 最近的Linux内核提供了多种流量控制功能。Alexey Kuznetsov&#xff08;kuznet…...

分布式 令牌桶算法 总结

前言 相关系列 《分布式 & 目录》《分布式 & 令牌桶算法 & 总结》《分布式 & 令牌桶算法 & 问题》 参考文献 《【算法】令牌桶算法》 概述 简介 TBA Token Bucket Algorithm 令牌桶算法是一种流行于网络通信领域的流量控制/频率限制算法。令牌…...

FFMPEG视频转图片

用FFMPEG视频转图片&#xff0c;并且for循环 import os import subprocess# 输入文件夹和输出文件夹路径 input_folder r"I:\xxx" output_base_folder r"D:\xxx\YOLO\data\video" output_subfolder_name "20240609"# 创建输出子文件夹 output…...

docker入门实践---虚拟机环境配置

文章目录 1.检查内核版本2.确定centos7可以上网3.关闭防火墙4.关闭防火墙5.更换阿里云6.安装gcc7.设置镜像仓库&#xff08;阿里云&#xff09;8更新软件包9.安装docket-ce10.启动docker11.普通用户权限设置 1.检查内核版本 2.确定centos7可以上网 3.关闭防火墙 下面的这个表示…...

java要防止重复序列化的问题JSON.toJSONString转义问题

要防止重复序列化的问题JSON.toJSONString(entity) 20241213 10:29 背景&#xff1a; 我在设计业务实现echart图标渲染&#xff0c;业务接口实时性查询耗时很长&#xff0c;为了提高系统可用性和用户体验&#xff0c;采用中间表的方案——即在中间表中存储大JSON。 但是在自测…...

3分钟快速上手:Buzz音频转录软件完整使用指南

3分钟快速上手&#xff1a;Buzz音频转录软件完整使用指南 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz 还在为音频转录烦恼…...

百考通AI:答辩PPT智能生成,覆盖从开题到终答的全流程,让毕业答辩更从容

毕业答辩是学术生涯的关键一战&#xff0c;一份逻辑清晰、专业美观的PPT是顺利通关的核心保障&#xff0c;却也让无数毕业生熬夜奋战&#xff1a;从提炼研究核心到规划答辩流程&#xff0c;从设计页面排版到打磨讲稿&#xff0c;繁琐的准备工作常常让人焦头烂额。百考通AI&…...

【限时解密】Midjourney范戴克印相私藏LUT包+预设Prompt库(仅开放48小时):含ISO 200/400/800三档真实胶片响应曲线

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Midjourney范戴克印相的美学溯源与数字复刻逻辑 范戴克印相&#xff08;Van Dyke Brown process&#xff09;诞生于19世纪末&#xff0c;是一种以硝酸银、柠檬酸铁铵与酒石酸钾钠配制感光液&#xff0c;经紫外…...

焊接风管制造技术前沿:厂家工艺揭秘

在现代工业与建筑领域&#xff0c;焊接风管扮演着至关重要的角色。从工业厂房的通风换气&#xff0c;到商业建筑的空气调节&#xff0c;焊接风管都起着保障空气流通、维持环境舒适的关键作用。其质量的优劣直接影响到整个通风系统的性能和使用寿命。优质的焊接风管不仅能有效降…...

Rust 核心理论: 高并发与异步(三)

写在前面 Rust 凭借其独特的所有权机制和借用检查器&#xff0c;在不依赖垃圾回收的前提下&#xff0c;实现了内存安全与线程安全的编译期保证。 然而&#xff0c;对于许多从 C/C、Java、Python 等背景转入 Rust 的开发者而言&#xff0c;所有权、生命周期、借用规则、内部可变…...

Super Productivity:如何用时间盒和智能追踪实现真正的高效工作?

Super Productivity&#xff1a;如何用时间盒和智能追踪实现真正的高效工作&#xff1f; 【免费下载链接】super-productivity Super Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations…...

暗黑破坏神2存档修改器终极指南:告别重复刷装备,5分钟打造完美角色!

暗黑破坏神2存档修改器终极指南&#xff1a;告别重复刷装备&#xff0c;5分钟打造完美角色&#xff01; 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否厌倦了在暗黑破坏神2中反复刷装备&am…...

Frida+Fart实战:在ART Dex加载临界点精准dump二代壳内存Dex

1. 这不是“又一个脱壳教程”&#xff0c;而是对Android加固演进逻辑的现场解剖你打开一个市面上主流的金融类App&#xff0c;用adb shell pm list packages | grep bank随手一搜&#xff0c;发现它被某知名商业加固厂商打了“二代壳”——启动慢、内存占用高、关键so文件加密、…...

RK3588工业一体机开发实战:从硬件选型到AI部署的完整指南

1. 项目概述&#xff1a;为什么RK3588工业一体机是当前的热门选择&#xff1f;最近在跟几个做工业自动化、边缘计算的朋友聊天&#xff0c;发现大家不约而同地都在讨论基于瑞芯微RK3588芯片的工业一体机。这让我想起几年前&#xff0c;大家还在为工控机选型头疼——要么是X86架…...

Linux驱动开发实战:为I.MX6ULL编写一个DS18B20的字符设备驱动(从设备树到应用测试)

Linux驱动开发实战&#xff1a;I.MX6ULL平台DS18B20字符设备驱动全流程解析 在嵌入式Linux开发领域&#xff0c;能够完整实现一个符合内核规范的设备驱动是工程师的核心能力之一。本文将带您深入探索如何为I.MX6ULL处理器开发DS18B20温度传感器的标准字符设备驱动&#xff0c;…...