多分支git合并流程

2023-11-06

阅读摘要

推荐一个git合并步骤,开发分支可能会多次提交合并到dev/master主干分支也会显示很多个提交点,这样不方便代码分支管理和回溯发布记录,所以推荐如下方法,不出意外,这也是个新手教程

git 合并步骤

 

  1.  本地开发分支建立格式建议 feature_功能_开始时间(示例 feature_test_20230801 ),不推荐使用单一 feature,容易造成冲突和上线功能点不明确,作用好处区分功能点和明确创建时间,后续方便远程分支的删减,精简仓库

  2. 本地开发完成后,准备上线测试环境,开发分支合并到dev 分支,测试环境已经设置了选择 dev 分支打包构建,就可以开始测试环境测试阶段了 多功能开发并行时,合并测试环境之前都需要先拉取远程 dev 分支的代码,如果改到相同文件,由后提交人解决冲突,并确定是否存在功能点冲突,最终解决冲突后发布到测试环境(禁止手动修改测试环境和生产环境的文件,紧急情况除外)

  3. 发布生成分支时,将测试完成的代码合并到 master 分支,最终构建发布完成测试即可,保证 master 的纯净,合并到 master 分支的代码一定是经常测试环境测试并确定可以上线的代码

基本 git 命令

# 从master创建开发分支
git checkout -b feature_test_20230801
# 添加代码到开发分支(指定提交文件)
git add . 
# 提交
git commit -m '状态识别优化'
# 推到远程开发分支
git push origin feature_test_20230801
# 合并开发分支到测试分支(推荐命令 这样会把feature多个提交点合并为一个提交点,保证分支的清爽简洁)
git checkout dev
git merge --squash feature_test_20230801
git commit -m '格式化代码'
git push origin dev
# 合并开发分支到生产分支
git checkout master
git merge --squash feature_test_20230801
git merge --squash feature_test_20230801
git commit -m '格式化代码'

git merge --squash 命令介绍

git merge --squash 是一个 Git 命令,它的作用是将当前分支(通常是主分支)与另一个分支(通常是特性分支或分支的分支)进行合并,但不会在历史记录中保留合并的信息。而是将合并的结果作为一次新的提交记录在 Git 历史中。

在你的例子中,feature_test_20230801是一个特性分支的名称,它可能包含了某些特定的功能或修改。使用 git merge --squash 命令可以将该特性分支的修改内容合并到当前分支中,但不会保留合并的历史记录。这意味着在 Git 历史记录中,将不会显示该特性分支与主分支的合并过程,只会显示最终的合并结果。

这样的操作在一些情况下可能会很实用,例如当你希望将一些零散的修改合并到主分支中,但又不希望在 Git 历史记录中显示大量的无关的合并信息时。使用 git merge --squash 可以简化历史记录,使提交记录更加清晰易读。但需要注意的是,这样做会丢失一些合并信息,因此在某些情况下,可能需要考虑其他的解决方案。

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

多分支git合并流程 的相关文章

随机推荐

  • VS社区版许可证过期更新

    VS社区版许可证过期更新 VS社区版是免费使用的 然而会有许可证过期的问题 这时候就需要登录 再进行更新许可证 在登录时卡顿了一天还没有解决问题 我们无法下载许可证 请检查你的网络连接或代理设置 查找方案 有一个方案比较普遍 1 在VS安装
  • brk(), sbrk() 用法详解

    贴上原文地址 好不容易找到了 brk sbrk 改变数据段长度 brk sbrk 的声明如下 include
  • 机器学习实验 - MeanShift聚类

    目录 一 报告摘要 1 1 实验要求 1 2 实验思路 1 3 实验结论 二 实验内容 2 1 方法介绍 2 2 实验细节 2 2 1 实验环境 2 2 2 实验过程 2 2 3 实验与理论内容的不同点 2 3 实验数据介绍 2 4 评价指
  • Spring5 框架 详解 (一) ---- IOC控制反转

    Spring5 框架 spring 框架概述 IOC 容器 1 什么是 IOC 2 IOC底层原理 IOC 过程 IOC 接口 IOC 操作 Bean 管理 IOC 操作 Bean 管理 xml 注入其他类型属性 IOC 操作 Bean 管
  • PHP底层工作原理

    原文地址 http www cnblogs com phphuaibei archive 2011 09 13 2174927 html 最近搭建服务器 突然感觉lamp之间到底是怎么工作的 或者是怎么联系起来 平时只是写程序 重来没有思考
  • Java中数据类型详解

    文章目录 一 数据类型的作用 二 两种数据类型 1 基本数据类型 1 第一类 整数型 2 第二类 浮点型 3 第三类 布尔型 4 第四类 字符型 2 引用数据类型 1 类 2 数组 3 接口 三 基本数据类型之间的转化 一 数据类型的作用
  • Vue 项目如何实现一个全局菜单搜索框

    个人主页 山山而川 xyj 作者简介 前端领域新星创作者 专注于前端各领域技术 共同学习共同进步 一起加油 系列专栏 Vue 系列 学习格言 与其临渊羡鱼 不如退而结网 目录 前言 一 过滤路由 二 搜索框展示路由 三 雏形出现但有缺陷 四
  • 九宫格选择照片

    一 Adapter public class RecyclerImageAdapter extends RecyclerView Adapter
  • 使用IDEA创建JavaWeb项目

    由于看的视频教程比较老 且开发工具为Eclipse 本人已习惯使用IDEA 在此记录一下创建JavaWeb项目过程 创建一个项目 左侧选择 Java Enterprise 右侧选择 Web Application 这里我输入的项目名字为 F
  • 公开课精华

    本文章总结于大疆前技术总监 目前在卡内基梅隆大学读博的杨硕博士在深蓝学院的关于机器人的带约束轨迹规划的公开课演讲内容 全文约5000字 笔者不是机器人领域的 因此特地去了解了一下杨硕博士 深感佩服 不仅是他的履历 更多的是他关于学术上的至臻
  • 2021-09-15 C++ 继承和多态(虚函数,纯虚函数,虚继承)

    C 继承和多态 虚函数 纯虚函数 虚继承 一 继承 继承的概念 为了代码的复用 保留基类的原始结构 并添加派生类的新成员 继承的本质 代码复用 我们用下图解释下 那么我们这里就可以提出几个问题了 进程的方式有哪些呢 这里有三种继承方式 pu
  • Vue3 实现背景水印功能

    在 web 的世界里 对于图片文档等增加水印处理是十分有必要的 水印的添加根据环境可以分为两大类 前端浏览器环境添加和后端服务环境添加 通过 canvas 创建一张含有水印信息的背景图片 通过 hooks 函数插入到页面中 对外暴露方法 设
  • pnpm安装与卸载

    文章目录 1 安装 1 1 Linux CentOS 1 1 1 使用脚本直接安装 1 2 2 通过npm安装 2 卸载 2 1 移除全局安装的包 2 2 移除pnpm cli 2 2 1 脚本直接安装 2 2 2 使用npm安装 官方文档
  • Mysql主从库不同步1236错误:could not find first log file name in binary....

    Mysql主从库不同步1236错误 could not find first log file name in binary log index file错误是主从的一个日志问题 我们只要简单的配置一下即可解决 最近造成Mysql主从库不同
  • 二进制运算基础

    本篇随笔仅作记录 文中有引用的一篇博客 博客地址为 https www cnblogs com joahyau p 6420619 html 首先谈一下为何会写这个知识点 这是由一道题引出这个知识点的 题目如下 System out pri
  • 在zotero-better-notes新版本里的笔记中插入模板的方法

    在zotero better notes新版本里的笔记中插入模板的方法 一 失效的方法 二 新的方法 三 模板分享 四 模板导入方法 一 失效的方法 上一篇文章Zotero笔记插件zotero better notes的基本使用方法与下载
  • MySQL主从复制原理、半同步操作步骤及原理

    原文地址 http blog csdn net linuxlsq article details 52606292 1 1 企业Linux运维场景数据同步方案 1 1 1 文件级别的异机同步方案 1 scp sftp nc 命令可以实现远程
  • iOS是伪多任务?

    iOS是伪多任务 Android系统原生就支持多任务 而iOS系统是从4开始的 它的多任务并不是传统意义上的多任务 不是任何应用进程都可以在后台自由运行 真正做到支持多任务的只有苹果Safari和Mail 很多苹果亲生的应用也都并不支持 对
  • TensorRT学习笔记3 - 运行sampleMNIST

    目录 步骤 遇到的问题 步骤 cd your tensorrt path samples sampleMNIST make cd your tensorrt path bin sudo sample mnist h datadir your
  • 多分支git合并流程

    阅读摘要 推荐一个git合并步骤 开发分支可能会多次提交合并到dev master主干分支也会显示很多个提交点 这样不方便代码分支管理和回溯发布记录 所以推荐如下方法 不出意外 这也是个新手教程 git 合并步骤 本地开发分支建立格式建议