Git如何合并分支到主干及合并主干到分支

2023-11-16

Git如何合并分支到主干及合并主干到分支

参考资料

零、预备知识

每个团队都有自己的团队分支,这样他们可以在开发期间检入并共用代码(有些团队有几种不同类型的团队分支)。团队分支的政策比主干宽松得多。代码必须编译,所有单元测试都必须通过,但功能不一定非要完成或测过。采用团队分支的目的是向开发人员提供一个检入未完成代码的地方。

基本上,变更连续不断“向下”检出(checkout)(从主干到团队分支,再到工作站),而“向上”检入(从工作站到团队分支,再到主干)则在固定的点进行。
在这里插入图片描述

每天早晨,团队主管将主干上的所有变更与团队分支合并,立即处理所有合并冲突。同样,每位开发人员也要每天将团队分支上的所有变更与他们各自的工作站合并。 只要开发人员认为自己的代码已经很稳定(即,代码已编译,单元测试已通过),就可以将代码检入团队分支,与团队其他成员共享。

只要团队认为他们已经完成一个功能,可以采取下列行动:

  • 检出主干代码并与团队分支合并(以防万一当天有其他团队已更新过主干代码);

  • 最后一次检查代码,确保团队分支代码已经稳定(即可供系统测试);

  • 将团队分支合并到主干。

一、创建分支
git branch team1  #team1是分支名称
二、合并分支到主干

在主干基础上生成系统测试分支,方便为后续的系统测试阶段提供稳定版本

  • 切换到team1分支

    git checkout team1  #切换到team1分支(接下来的步骤将在team1分支下进行操作)
    
  • 将team1分支代码拉取到本地

    git pull  #将team1分支代码拉取到本地
    
  • 切换到master主干

    git checkout master #切换到master主干(接下来的步骤将在master下进行操作)
    
  • 合并team1分支代码到master

    git merge team1 #合并team1分支代码到master
    
  • 提交到远程master主干

    git push
    
三、合并主干到分支

在系统测试分支下修复bug,并将该分支合并到主干上,此时不同团队将主干代码合并到各自团队的分支上,使得Bug修复能够快速到达所有团队分支上

  • 切换到master分支

    git checkout master  #切换到主干(接下来的步骤将在主干下进行操作)
    
  • 将team1分支代码拉取到本地

    git pull  #将主干代码拉取到本地
    
  • 切换到team1主干

    git checkout team1 #切换到team1主干(接下来的步骤将在team1下进行操作)
    
  • 合并master分支代码到team1

    git merge master #合并master分支代码到team1
    
  • 提交到远程team1分支

    git push
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git如何合并分支到主干及合并主干到分支 的相关文章

  • Git checkout 分支从其他分支留下目录树

    我有一个branch2 其源是branch1 并重命名了源自branch1 的目录 当签出branch1时 重命名的目录仍然存在 但没有标记为未暂存的修改 重命名的目录当然不会作为branch1 上的提交出现 为什么会出现这种情况 上述目录
  • 客户端和服务器的 Git 分支结构

    对于我的一门计算机科学课程 我和一个小组正在使用客户端 服务器架构编写一个应用程序 我很好奇在 Git 存储库中组织项目的最佳实践是什么 我的意思是 我们是否应该像这样构建目录 ProjectDir Clients Client1 file
  • 我们如何从团队项目中的所有 Git 存储库连接到 TFS?

    我正在运行最新的 Visual Studio 2013 Ultimate 和 Update 1 我们也有最新的 Team Foundation Server 2013 我们中的一些人对新的 Git 存储库集成感到非常兴奋 但似乎有一个相当大
  • 如何在 git log 中查看提交的 git bisect 状态?

    我正在做 git bisect 到目前为止我发现了一些好的和坏的提交 我可以通过运行来确认git bisect log 但是 如果我为我的分支运行 git loggit log graph decorate full origin mast
  • 两个人同时在 git 中处理一个文件[重复]

    这个问题在这里已经有答案了 可能的重复 当两个对等点同时将更改推送到同一个远程时 git 如何工作 https stackoverflow com questions 4643998 how git works when two peers
  • 复合运行步骤 GitHub Actions 错误:“在 URI 处找不到操作”

    我正在尝试在 GitHub Actions 上使用复合运行步骤操作 如上所述here https github blog changelog 2020 08 07 github actions composite run steps 7E
  • Jenkins 的 Gerrit 触发器找不到任何要构建的修订

    我在使用 Jenkins Gerrit 时遇到问题 这是我到目前为止得到的 Jenkins 中的 Gerrit 触发器配置似乎没问题 当我推送新的变更集时 Jenkins 构建就会启动 我用过这个 Jenkins Gerrit 触发器问题的
  • 是否可以在一台机器上使用 GitHub 和 GitLab?

    我的账户位于GitHub and GitLab 我生成了 RSA 密钥并将其添加到我的帐户中GitLab 但现在我需要与GitHub在第二个项目上 我知道GitLab和GitHub都使用git 请告诉我是否可以在一台机器上使用 GitHub
  • Markdown/Github:作为列表子项的代码块的语法突出显示

    在Github MD中 如果我们想在列表的子级时启用代码块 我们需要用8个空格来表示它 但是如何让该代码块具有语法高亮功能呢 以下代码无法按预期工作 1 foo python print bar 2 bar python print bar
  • git 存储库中的提交次数

    我的一个为期 5 个月的项目即将结束 作为毫无意义的统计数据的粉丝 我想知道自存储库启动以来已经进行了多少次提交 我怎样才能发现这一点 Notes 我知道没有one存储库 我只对本地版本感兴趣 这在颠覆中是微不足道的 因为修订标识符 似乎是
  • 预提交钩子 git 错误

    我正在尝试在 python 中执行预提交 git hook 以检查文件的行长度是否小于 80 个字符 但是我收到没有此类文件 目录的错误 我在 fedora 上并设置了 usr bin python help 将不胜感激 usr bin e
  • 将 jQuery 与托管在 Github 页面上的 Jekyll 站点结合使用

    我有一个简单的 Jekyll 博客托管在 github 页面上 我已经包含了 jQuery 和 tablesorter 插件 但遇到了错误 据我所知 这个错误是由于没有以正确的顺序加载 jQuery 引起的 我的下图显示代码的顺序是正确的
  • 如何将/ff分支提升到HEAD

    我有一个受保护的分支 只有在集成构建上的集成构建通过后 才应提升 快进该分支 我目前尝试通过在集成分支的拉取请求上构建集成来解决这个问题 一旦成功 只需将发布分支快速转发到集成分支的尖端 但是 当我在 TFS 构建系统上构建分支时 它将检出
  • 如何将空目录添加到 Git 存储库?

    如何将空目录 不包含文件 添加到 Git 存储库 使目录 在存储库中 保持 几乎 空的另一种方法是创建一个 gitignore该目录中的文件包含以下四行 Ignore everything in this directory Except
  • 如何修复 git 子模块错误 fatal: Needed a single revision Unable to find current origin/master revision in submodule path?

    我不断收到这个问题 fatal Needed a single revision Unable to find current origin master revision in submodule path coq serapy 我试过了
  • 无法在 Google Colab 中打开从 GitHub 克隆的存储库

    我想克隆 GitHub 存储库 体验 keras yolo2 https github com experiencor keras yolo2 我按照以下命令操作 git clone https github com experiencor
  • git 克隆密码存储或缓存在哪里?

    环境定义 使用Windows 10操作系统 我使用 githttps git scm com https git scm com 和 Github 的 Git Shell 背景 当我发出如下所示的 git clone 命令时 git clo
  • git 奇怪的彩色终端响应[重复]

    这个问题在这里已经有答案了 最近我被下面的彩色终端响应吓死了 它是由 git push 命令触发的 Does anybody have a clue where this colored response comes from 只是猜测 但
  • Git 合并如何处理同时提交?

    给定一个具有两个分支的存储库 每个分支都有独立的提交 Branch Commits final e g i master a b c d f h 上图中的字母很重要 即 master 和 final 同时正在开发中 并且必须保留两个分支中的
  • git log over 使用 --follow 时限制输出? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 在以下服务

随机推荐

  • (一)大彩屏幕 进行串口通信

    一 简介 大彩屏幕通过串口收发信息 主要用来显示 装好软件 官网有或找技术人员要 VisualTFT 虚拟串口驱动 USB驱动 1 大彩屏幕来自大彩科技 使用该屏幕时 需要注意获取最新的软件版本 最新的Demo 这一点 你可以直接联系客服或
  • Vue刻度尺组件

    1 安装刻度尺组件 npm install cs ruler 2 在main js中全局引入组件 import CsRuler from cs ruler 刻度尺组件 Vue use CsRuler 3 组件使用
  • C#序列化和反序列化(json)

    一 什么是Json json是存储和交换文本信息的方法 类似xml 但是json比xml更小 更快 j更易于解析 并且json采用完全独立于语言的文本格式 即不依赖于各种编程语言 这些特性使json成为理想的数据交换语言 json使用Jav
  • UE4 命令工具打包

    用cmd进入UE4引擎的目录 Engine Build BatchFiles找到RunUAT bat cmd中输入以下命令 RunUAT BuildCookRun project F VidaUpdater VidaUpdater upro
  • QT 语言的学习 day10 数据库的学习 增删改 (QT 自带的数据库 QSqlDatabase数据库)

    1 基本知识的学习 Qt 提供了 QtSql 模块来提供平台独立的基于 SQL 的数据库操作 这里我们所说的 平台独立 既包括操作系统平台 有包括各个数据库平台 另外 我们强调了 基于 SQL 因为 NoSQL 数据库至今没有一个通用查询方
  • 1分钟让您的.NET WinForm应用程序变成现代互联网浏览器

    目录 前言 一 WebRuntime是什么 二 使用步骤 三 具体案例 总结 前言 让自己的应用拥有对接互联网的能力 应该是绝大多数开发者的愿望 这里给大家推荐一个开源项目 WebRuntime 通过这个项目 开发者可以在完全保留自己应用架
  • ISO/IEC技术标准-RFID

    ISO IEC技术标准规定了RFID有关技术特征 技术参数和技术规范 主要包括ISO IEC 18000 空中接口参数 ISO IEC 10536 密耦合 非接触集成电路卡 ISO IEC 15693 疏耦合 非接触集成电路卡 和ISO I
  • html框架-----标签(上)

    目录 前言 标签简介 1 HTML的基本结构 1 html标签 2 head标签 3 body标签 2 标题标签 3 段落标签 4 文本格式化标签 前言 现在学前端工程师的都很难找工作 懂的都懂了 因为学前端一般去做那些页面可视化处理 而学
  • 微信红包实现原理

    微信红包实现原理 以下内容来源于QCon某高可用架构群聊天记录整理 背景 有某个朋友咨询微信红包的架构 在官方或非官方同学的解释和讨论中得出以下讨论内容 在此期间有多个同学发红包做现网算法测试 抢红包过程 当有人在群里发了一个N人的红包 总
  • js 正则替换隐藏部分身份证或手机号以及隐藏部分名字

    1 手机号隐藏中间4位 var phone 18200002111 phone replace d 3 d d 4 1 2 输出结果 2 身份证隐藏中间数字 2 1兼容尾数后面携带字母的 隐藏身份证中间8位数 param data 传入数据
  • opengles3.0_win10

    前部分的配置主要参考 https blog csdn net mmy545237835 article details 80762150 但是还会出现一系列问题 需要把下载的模拟器文件夹中的 一个文件夹和两个动态链接库放到当前的工程目录下
  • 自动化输出带数据的文件名称

    背景说明 为实现数据统计 输出文件名称中带变化的数据名称 可以进行向量变化的输出 程序说明如下 library readxl library sqldf library openxlsx library dplyr length iris
  • Kubernetes入门Day2 ~ 一步一步手工构建metrics-server 0.5.0 镜像

    i m not only a DBA k8 gcr io异步同步工具配置 一步一步编辑metrics server 0 5 0镜像 1 配置好jq 2 clone 官方metrics server 3 编辑metrics server 0
  • 软件工程和计算机科学与技术的区别在哪?

    计科专业毕业已经从事软件开发多年 说到当初选择这个专业还是遵从父母的意愿 老人家们觉得计算机是个未来的趋势 如果做个计算机的老师岂不是很不错 于是在报考志愿的时候就给选择上了 主要自身也对计算机感兴趣 所以也没有过多的干预 至于学到之后当不
  • 网络技术期末复习~重点考题

    解题思路 标准答案 11 如图所示 网络145 13 0 0 16划分为四个子网N1 N2 N3 N4 它们与路由器R相连的接口分别是m0 m1 m2 m3 R的第五个接口m4连接到互联网路由器 接口地址为1 1 1 1 1 请给出路由器R
  • uniapp 基础知识学习

    uniapp 基础知识学习 uniapp 基础知识学习 uniapp 介绍 https uniapp dcloud io README 有哪些uni app的作品 uni app的社区规模 为什么要去学习uni app 快速体验 功能框架
  • js显示服务器路径下的图片,JS处理文件流(如果是图片,显示在当前页面)

    用ajax请求图片资源 服务器以文件流的形式返回 1 返回类型需要设置为 blob 所以需要用原生ajax 不能使用jq 原因 jquery将返回的数据转换为了string 不支持blob类型 当然 你也可以引入组件拓展jq的能力 我知道的
  • leetcode----121.买卖股票的最佳时机

    给定一个数组 它的第 i 个元素是一支给定股票第 i 天的价格 如果你最多只允许完成一笔交易 即买入和卖出一支股票一次 设计一个算法来计算你所能获取的最大利润 注意 你不能在买入股票前卖出股票 示例 1 输入 7 1 5 3 6 4 输出
  • 电脑快捷键大全表格_【Mac新手必看基础篇】Mac电脑快捷键大全

    Mac电脑以卓越的性能和出色的外表获得了越来越多的用户 你是Mac新手吗 你是否能熟练使用Mac电脑呢 刚接触Mac电脑的小伙伴千万不要错过这篇文章 小编给大家准备了Mac使用必看基础篇 Mac快捷键大全 对于新手用户很有帮助哦 一 开机相
  • Git如何合并分支到主干及合并主干到分支

    Git如何合并分支到主干及合并主干到分支 文章目录 Git如何合并分支到主干及合并主干到分支 零 预备知识 一 创建分支 二 合并分支到主干 三 合并主干到分支 参考资料 精益开发实践用看板管理大型项目 Git如何合并分支到主干及合并主干到