Git分支规范和迭代流程

Git分支

feature分支:功能分支

dev分支:开发分支

test分支:测试分支

master分支:生产环境分支

hotfix分支:bug修复分支。从master拉取,修复并测试完成merge回master和dev。

某些团队可能还会有 realese分支:预发布分支。

release 为预上线分支,提测阶段,会以release分支代码为基准提测,用于QA测试。release分支内容可以从feature分支合并,测试完成merge回master。

一、Git版本迭代

1.版本开始:从远程master分支拉出新的远程feature分支

2.本地开发:本地checkout到feature分支

3.提交代码:本地feature推送到远程feature分支

4.开发自测:feature分支,合并到远程dev分支。

5.测试环节:开发自测完毕后,开发提测,进入测试环节。把远程feature分支,合并到远程test分支。。

6.测试完毕,远程feature分支,合并到master。发版。

feature分支,合并到远程dev分支

  • 本地先切到dev分支。

  • 然后将远程的feature分支合并到本地dev分支

  • 再将本地dev分支推送到远程的dev分支。

  • 切回本地的feature分支。

处理合并冲突

如果A同学在featureA分支,B同学在featureB分支,分别修改相同的内容,那么在合并到dev分支时,就会有冲突。这时需要处理合并冲突:

  • 如果发现代码有冲突,可以尝试将master的代码合并到自己的feature,再合并到dev分支。

因为feature分支是从master分支拉出来的,如果还有新的feature分支提交到master,那么自己的feature分支代码就是滞后的。

  • 如果还是有冲突,自己修改的就自己合并,如果不是自己写的代码,那可以找修改代码的同学进行合并。

可以选择左边的远程分支上的代码,也可以选择右边的代码,而中间是合并的结果。

cherry pick 摘取其他分支的comment

如果想把 feature_v1.0 分支的comment 摘到 feature_v1.0_new 分支上,
需要先切换到 feature_v1.0_new分支,然后点击 下面菜单栏的 git,点击Local Changes旁边的 Log,这时能看到 local和remote的分支,点击feature_v1.0分支。
从feature_v1.0,选中自己需要的comment,点击cherry pick,就能摘到 feature_v1.0_new。

check pick结果如下:

三、注意点:

  • 代码已经提交到master分支并发布,那么就不要再修改对应的feature分支。保留现场。

  • dev分支、test分支的代码,不要合并到feature分支。

因为dev分支、test分支可能是包含多个feature的,一旦feature分支被污染,包含了其他feature的内容,

那么feature分支合并到master的代码,就可能包含未测试的代码。这会导致生产问题。

dev分支不小心合并到feature分支,怎么处理?

  • Idea(或者其他开发工具)新建一个文件夹,从Git重新clone,不然可能会读到本地缓存。(开发工具没有本地缓存就不需要做这一步)

  • 从master重新拉feature-new分支在本地切换到这个新的feature-new分支。

  • 从Git提交记录中,选择旧的远程feature分支,选中自己需要的内容,做cherry-pick,提交人选择自己,被污染的部分不要cherry-pick。
    从最旧的记录一直cherry-pick,直到最新的记录。

  • 备份旧的feature分支 feature-backup,并删除掉旧的feature分支。
    从feature-new分支,拉取出新的feature分支。分支没有污染了。

release分支有什么用?

如果发版时,要发布的服务和功能非常多,如果直接合并到 master 分支,验证不通过的话,回滚会非常麻烦。因此,先从 feature 分支合并到 release 分支,在验证通过后,才将 release 分支合并到 master 分支,会更加稳妥一些。

参考资料

https://www.cnblogs.com/peace-ful/p/15407168.html
https://blog.csdn.net/sunyctf/article/details/130587970

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

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

相关文章

前端工程化面试题 | 07.精选前端工程化高频面试题

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

小白水平理解面试经典题目LeetCode 102 Binary Tree Level Order Traversal【二叉树】

102. 二叉树层次顺序遍历 小白渣翻译 给定二叉树的 root ,返回其节点值的层序遍历。 (即从左到右,逐级)。 例子 小白教室做题 在大学某个自习的下午,小白坐在教室看到这道题。想想自己曾经和白月光做题&#xff0c…

多机多卡运行nccl-tests和channel获取

nccl-tests 环境1. 安装nccl2. 安装openmpi3. 单机测试4. 多机测试mpirun多机多进程多节点运行nccl-testschannel获取 环境 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)cuda 11.8 cudnn 8nccl 2.15.1NVIDIA GeForce RTX 4090 *2 1. 安装nccl #查看cuda版本 nv…

Ubuntu Desktop - Screenshot (截图工具)

Ubuntu Desktop - Screenshot [截图工具] 1. Search your computer -> Screenshot -> Lock to Launcher2. gnome-screenshot3. System Settings -> Keyboard -> ShortcutsReferences 1. Search your computer -> Screenshot -> Lock to Launcher 2. gnome-s…

BUGKU-WEB 滑稽

题目描述 没啥好说的,直接启动场景吧: 解题思路 花里胡哨的界面(js效果),有啥用呢?直接看源码吧(ctrlu): 相关工具 略 解题步骤 ctrlu,发现在注释中直…

【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱1(附带项目源码)

效果演示 文章目录 效果演示系列目录前言人物和视角基本控制简单的背包系统和物品交互绘制背包UI脚本控制 源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第25篇中,我们将…

Go高级并发模式

Go对并发提供了强大的原生支持,本文讨论Go的高级并发模式,理解这些并发模式,可以帮助我们编写高效的Go应用程序。原文: Advanced Concurrency Patterns in Go "并发不是并行,但使并行成为可能。" —— Rob Pike 本文将深…

android中实现设备尺寸适配

1、引言 设备尺寸适配的重要性想必就不用我多说了,在我发布的历史文章中我曾谈过Qt中的设备尺寸适配问题,那这里我就来教大家如何在android中做设备尺寸适配。在android中设备尺寸适配的方式有好几种,但我喜欢的还是使用获取设备真实尺寸然后…

就业|高校毕业生就业信息小程序|基于微信小程序的高校毕业生就业信息的设计与实现(源码+数据库+文档)

高校毕业生就业信息小程序目录 目录 基于微信小程序的高校毕业生就业信息的设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户小程序模块 2、用户信息管理 2、职位招聘管理 3、公司信息管理 4、论坛信息管理 四、数据库设计 1、实体ER图 五、核心代码 …

C语言学习记录

牛牛的第二个整数_牛客题霸_牛客网 (nowcoder.com) 注意输入的格式,%d空格%d空格%d

数据结构第十四天(树的存储/双亲表示法)

目录 前言 概述 接口: 源码: 测试函数: 运行结果: 往期精彩内容 前言 孩子,一定要记得你的父母啊!!! 哈哈,今天开始学习树结构中的双亲表示法,让孩…

C++重新入门-C++ 函数

函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常…