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

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

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

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

相关文章

Python Turtle 实现动态时钟:十二时辰与星空流星效果

在这篇文章中&#xff0c;我将带你通过 Python 的 turtle 模块构建一个动态可视化时钟程序。这个时钟不仅具备传统的时间显示功能&#xff0c;还融合了中国古代的十二时辰与八卦符号&#xff0c;并通过动态星空、流星效果与昼夜背景切换&#xff0c;为程序增添了观赏性和文化内…

鸿蒙NEXT开发案例:颜文字搜索器

【引言】 本文将介绍一个名为“颜文字搜索器”的开发案例&#xff0c;该应用是基于鸿蒙NEXT平台构建的&#xff0c;旨在帮助用户快速查找和使用各种风格的表情符号。通过本案例的学习&#xff0c;读者可以了解如何在鸿蒙平台上进行数据处理、UI设计以及交互逻辑的实现。 【环…

Linux进阶·如何在Ubuntu安装、调试、运行gcc/g++,以及如何进行多文件编译

目录 1. 简介 2. 安装gcc 3. gcc的编译流程 3.1 预处理 3.2 编译 3.3 汇编 3.4 链接 4. gcc相关参数 5. 多文件编译 6. gcc和g的区别 1. 简介 gcc是Linux下的编译工具集&#xff0c;是GNU Compiler Collection的缩写&#xff0c;包含gcc, g等编译器。这个工…

Python鼠标轨迹算法(游戏防检测)

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序&#xff0c;它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言&#xff0c;原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势&#xff1a; 模拟…

【新人系列】Python 入门(十六):正则表达式

✍ 个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12801353.html &#x1f4e3; 专栏定位&#xff1a;为 0 基础刚入门 Python 的小伙伴提供详细的讲解&#xff0c;也欢迎大佬们…

uni-app实现小程序、H5图片轮播预览、双指缩放、双击放大、单击还原、滑动切换功能

前言 这次的标题有点长&#xff0c;主要是想要表述的功能点有点多&#xff1b; 简单做一下需求描述 产品要求在商品详情页的头部轮播图部分&#xff0c;可以单击预览大图&#xff0c;同时在预览界面可以双指放大缩小图片并且可以移动查看图片&#xff0c;双击放大&#xff0…

计算机网络之传输层协议TCP

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 计算机网络之传输层协议TCP 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目…

知识库系统,集成neo4j,集成activiti工作流,集成es全文检索,知识图谱血缘关系,nlp知识库

一、项目介绍 一款全源码&#xff0c;可二开&#xff0c;可基于云部署、私有部署的企业级知识库云平台&#xff0c;一款让企业知识变为实打实的数字财富的系统&#xff0c;应用在需要进行文档整理、分类、归集、检索、分析的场景。 为什么建立知识库平台&#xff1f; 助力企业…

Eclipse MAT(Memory Analyzer Tool) 使用手册

参考&#xff1a;JAVA内存泄露使用MAT(Memory Analyzer Tool)快速定位代码 Eclipse MAT 1.15.0提示JDK版本最低需要使用17版本的&#xff0c;如果不想安装可以下载ZIP包&#xff0c;或者使用较低版本的MAT。 为了避免下载的17版本JDK和本地环境干扰&#xff0c;可以直接在MAT配…

选择WordPress和Shopify:搭建对谷歌SEO友好的网站

在建设网站时&#xff0c;不仅要考虑它的美观和功能性&#xff0c;还要关注它是否对谷歌SEO友好。如果你希望网站能够获得更好的搜索排名&#xff0c;WordPress和Shopify是两个值得推荐的建站平台。 WordPress作为最流行的内容管理系统&#xff0c;其强大的灵活性和丰富的插件…

微信小程序:实现节点进度条的效果;正在完成的节点有动态循环效果;横向,纵向排列

参考说明 微信小程序实现流程进度功能 - 知乎 上面的为一个节点进度条的例子&#xff0c;但并不完整&#xff0c;根据上述代码&#xff0c;进行修改完善&#xff0c;实现其效果 横向效果 代码 wxml <view classorder_process><view classprocess_wrap wx:for&quo…

NMEA/观测文件/导航电文

NMEA-0183 NMEA-0183是美国国家海洋电子协会为海用电子设备制定的标准格式。它包含了定位时间&#xff0c;纬度&#xff0c;经度&#xff0c;高度&#xff0c;定位所用的卫星数&#xff0c;DOP&#xff0c;差分状态和校正时段等很多信息。 参考&#xff1a;GPS NMEA数据包解析…

.Net C#医院检验系统源码,实验室管理信息LIS系统

LIS系统源代码&#xff0c;.Net C#医院检验系统源码&#xff0c;三级医院应用案例&#xff0c;自主版权&#xff0c;适合二次开发上项目。 本套实验室管理信息LIS系统采用.Net C#语言开发&#xff0c;用C/S架构。支持DB2,Oracle,MS SQLServer等主流数据库。可根据医院情况配置…

从零开始学TiDB(5)Raft与Multi Raft

leader是集群中领导者&#xff0c;所有的读写都是走leader&#xff0c;follower副本不参加读写&#xff0c;leader会周期性的向follower发出心跳&#xff0c;同时也会把自己的日志同步给follower。 follower不参与读写&#xff0c;只会对其它服务做出相应&#xff0c;并同步lea…

短视频矩阵源码开发部署全流程解析

在当今的数字化时代&#xff0c;短视频已成为人们娱乐、学习和社交的重要方式。短视频矩阵系统的开发与部署&#xff0c;对于希望在这一领域脱颖而出的企业和个人而言&#xff0c;至关重要。本文将详细阐述短视频矩阵源码的开发与部署流程&#xff0c;并附上部分源代码示例&…

ubuntu 磁盘空间满,找不到占用文件的目录

解决方法&#xff1a; 检查磁盘空间&#xff1a; 执行 df -h 查看各分区磁盘使用情况。 查找大文件或目录&#xff1a; 执行 du -sh /* 2>/dev/null 查找根目录下的大文件或目录&#xff0c;再逐一进入子目录使用相同命令查找。 清理缓存和临时文件&#xff1a; 清理 /t…

2024154读书笔记|《带着诗歌上街去》——我不长叶子,不开花,也不必要什么结果

2024154读书笔记|《带着诗歌上街去》——我不长叶子&#x1f33f;&#xff0c;不开花&#x1f33c;&#xff0c;也不必要什么结果 《带着诗歌上街去》作者隔花人&#xff0c;作者很有巧思&#xff0c;在拍摄的照片上做诗&#xff0c;诗不是很有感觉&#xff0c;但是在墙上、风景…

ChatGPT突然全球宕机,OpenAI致歉:并查明原因,正积极修复

ChatGPT突然全球宕机&#xff0c;OpenAI致歉&#xff1a;并查明原因&#xff0c;正积极修复 在 2024 年 12 月 12 日上午的北京时间时段内&#xff0c;ChatGPT突发全球宕机&#xff0c;OpenAI致歉&#xff1a;已查明原因&#xff0c;正积极修复 官方证实了其备受瞩目的聊天机器…

力扣 53. 最大子数组和 (动态规划)

给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a;…

【中工开发者】鸿蒙商城app

这学期我学习了鸿蒙&#xff0c;想用鸿蒙做一个鸿蒙商城app&#xff0c;来展示一下。 项目环境搭建&#xff1a; 1.开发环境&#xff1a;DevEco Studio2.开发语言&#xff1a;ArkTS3.运行环境&#xff1a;Harmony NEXT base1 软件要求&#xff1a; DevEco Studio 5.0.0 Rel…