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

news2024/12/13 16:42:54

关于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. 结束

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

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

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

相关文章

Android Freezer

Freezer原理 Android按照优先级将一般的APP从高到低分为: 前台进程 --> 可感知进程–> 服务进程 --> Cached进程。 Freezer通过冻住cached进程,来迫使这些进程让出CPU&#xff0c;以达到优化系统资源使用的目的。 Cached进程是怎么判定的呢&#xff1f; 由于andro…

websocker的java集成过程

第一步&#xff1a;引入依赖包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency> 第二步设置配置类&#xff1a; // 需要注入Bean的话必须声明为配置类 Co…

设计模式:24、访问者模式

目录 0、定义 1、访问者模式的五种角色 2、访问者模式的UML类图 3、示例代码 0、定义 表示一个作用于某对象结构中的各个元素的操作。它可以在不改变各个元素的类的前提下&#xff0c;定义作用于这些元素的新操作。 1、访问者模式的五种角色 抽象元素&#xff08;Element…

umi实现动态获取菜单权限

文章目录 前景登录组件编写登录逻辑菜单的时机动态路由页面刷新手动修改地址 前景 不同用户拥有不同的菜单权限&#xff0c;现在我们实现登录动态获取权限菜单。 登录组件编写 //当我们需要使用dva的dispatch函数时&#xff0c;除了通过connect函数包裹组件还可以使用这种方…

Color-Light-Control-and-Four-Way-Responder based on STM32F103C8T6

Light Control and Responder 若要实现同样效果请看源码: gitee.com/apollo_666/Color-Light-Control-and-Four-Way-Responder # Abstract The design project for a decorative lighting controller enhanced our practical skills and engineering capabilities. During our…

数据库中的运算符

1.算术运算符 算术运算符主要用于数学运算&#xff0c;其可以连接运算符前后的两个数值或表达式&#xff0c;对数值或表达式进行加&#xff08;&#xff09;、减&#xff08;-&#xff09;、乘&#xff08;*&#xff09;、除&#xff08;/&#xff09;和取模&#xff08;%&…

python爬虫--小白篇【爬取B站视频】

目录 一、任务分析 二、网页分析 三、任务实现 一、任务分析 将B站视频爬取并保存到本地&#xff0c;经过分析可知可以分为四个步骤&#xff0c;分别是&#xff1a; 爬取视频页的网页源代码&#xff1b;提取视频和音频的播放地址&#xff1b;下载并保存视频和音频&#x…

【计算机网络】实验18:动态主机配置协议DHCP的作用

实验18 动态主机配置协议DHCP的作用 一、实验目的 验证动态主机协议DHCP的作用 二、实验环境 Cisco Packet Tracer模拟器 三、实验过程 1.构建网络拓扑&#xff0c;不给局域网中的各主机手动配置IP地址、子网掩码、默认网关、DNS服务器等信息&#xff0c;而是开启动态主机…

MFC案例:基于对话框的简易阅读器

一、功能目标&#xff1a; 1.阅读txt文件 2.阅读时可以调整字体及字的大小 3.打开曾经阅读过的文件时&#xff0c;能够自动从上次阅读结束的位置开始显示&#xff0c;也就是能够保存和再次使用阅读信息。 4.对于利用剪贴板粘贴来的文字能够存储成txt文件保存。 5.显示…

【开源】基于SpringBoot框架的个性化的旅游网站 (计算机毕业设计)+万字毕业论文 T025

系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 IDE环境&#xff1a; Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境&#xff1a; Tomcat 7.x,8.x,9.x版本均可 操作系统…

谷粒商城—分布式基础

1. 整体介绍 1)安装vagrant 2)安装Centos7 $ vagrant init centos/7 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on…

MySQL概述以及下载安装

MySQL5.7概述以及下载安装&#xff08;centOS7&#xff09; 一、MySQL简介 MySQL是一个典型的关系数据库&#xff0c;目前是Oracle公司产品之一&#xff0c;也是目前主流使用的关系型数据库之一。使用MySQL可以进行最基本的数据存储、管理、查询等操作&#xff0c;也可以方便的…

中粮凤凰里共有产权看房记

中粮凤凰里看房是希望而来&#xff0c;失望而归。主要是对如下失望&#xff0c;下述仅个人看房感受&#xff1a; 1. 户型不喜欢&#xff1a;三房的厨房和餐厅位置很奇葩 2. 样板间在25楼&#xff1a;湖景一言难尽和有工厂噪声 3. 精装修的交房质量:阳台的推拉门用料很草率 …

轮播(css+js)

目录 1.实现效果 2.基础代码演示 2.1js代码 2.1css样式 2.3实现效果 3.实现点击切换 3.1给button添加点击事件 3.2效果图如下 3.3发现问题 3.3.1不循环 3.3.2循环 1.实现效果 2.基础代码演示 2.1js代码 <div class"out-box"><div class"tes…

深度学习(2)前向传播与反向传播

这一次我们重点讲解前向传播与反向传播&#xff0c;对这里还是有点糊涂 前向传播&#xff08;Forward Propagation&#xff09;和反向传播&#xff08;Backward Propagation&#xff09;是深度学习中神经网络训练的核心过程。它们分别负责计算神经网络的输出以及更新神经网络的…

HTML5 拖拽 API 深度解析

一、HTML5 拖拽 API 深度解析 1.1 背景与发展 HTML5 的拖拽 API 是为了解决传统拖拽操作复杂而设计的。传统方法依赖鼠标事件和复杂的逻辑计算&#xff0c;而 HTML5 提供了标准化的拖拽事件和数据传递机制&#xff0c;使得开发者能够快速实现从一个元素拖拽到另一个元素的交互…

前端自己也能开启HTTPS

目录 前言 使用mkcert 安装 创建证书 利用 mkcert 创建 ca 根据 ca 创建 cert 安装证书 项目开启HTTPS 安装插件 配置 vitecofnig.js 最终效果 前言 今天我发现了一个宝藏&#xff0c;兄弟们&#xff01;就是前端开发阶段是可以使用https来开发的。对不懂前端的后端兄…

精通 Python 网络安全

与 FTP、SSH 和 SNMP 服务器交互 本章将帮助您了解允许我们与 FTP、SSH 和 SNMP 服务器交互的模块。在本章中&#xff0c;我们将探讨网络中的计算机如何相互交互。一些允许我们连接 FTP、SSH 和 SNMP 服务器的工具可以在 Python 中找到&#xff0c;其中我们可以突出显示 FTPLi…

【C++跬步积累】 —— 二叉搜索树(模拟实现+源代码)

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;C跬步积累 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日一题 &#x1f7e1; Linux跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0…

Redis安装和Python练习(Windows11 + Python3.X + Pycharm社区版)

环境 Windows11 Python3.X Pycharm社区版 思路 1 github下载redis压缩包 &#xff0c;安装并启动redis服务&#xff0c;在客户端连接redis服务。 2 在pycharm中运行python程序&#xff0c;连接redis服务&#xff0c;熟悉redis的使用和巩固python语言。 3 python开发环境…