Gitflow实操以及代码审查Pull Request操作

1.背景

之前一直有用过gitflow,但是一直没有归纳技术,另一方面也是每个团队用到的gitflow都不一致。而最近做项目要用gitflow,趁此机会分享一下gitflow的操作。

2.gitflow介绍

用git一直有一个问题,就是怎么保证代码稳定性,保证代码干净不被污染。如果一直用一个分支(master),很多像这样的问题就会接踵而至,因为所有人都会不断地往里面写代码,于是Vincent Driessen先提出来一套完整的gitflow方案。
本文参考项目中实际的情况,对gitflow有选择地使用。其中release、hotfix分支就不再涉及。这两个分支和其他分支的操作大同小异。
下图是完整的gitflow图:
在这里插入图片描述

2.1master分支

这个是主分支,我们所谓的保证代码干净不被污染,基本上就是针对他而言。master分支的功能,一个个合并来自develop分支的代码,另一个就是创建tag;

2.2develop 分支

这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支

2.3Feature 分支

这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支

3.操作

首先,要做开发就先要有develop分支,这个是我们在开发过程中最核心的分支。如下图所示,我们从master中牵出develop分支:
在这里插入图片描述
命名为develop
在这里插入图片描述
这个时候,我们创建的分支还是在本地,所以我们要push一下,把分支推到服务器上。

在这里插入图片描述
推送完,可以看到服务上就多了一个分支
在这里插入图片描述
如果这个时候,我们需要做一些开发,那么就要从develop分支中牵出新的feature分支
在这里插入图片描述
同样的。也要提交到服务端
在这里插入图片描述
feature1分支在经过一些列修改之后,接下来就是代码合并了。合并分两种:1.简单Merge;2.Pull Request代码审查后Merge;
简单的Merge操作如下
在这里插入图片描述
合并完push就可以。这种合并必须要有权限。

我们重点讲Pull Request,Pull Request是针对有代码审核需求的项目。在一些大公司经常用到,因为i额他们对代码的管理很严格。
当我们feature1的分支修改完推送到服务器之后,需要合并到develop。我们需要去网页上操作Pull Request。
在这里插入图片描述
添加完之后,就进入审批界面

在这里插入图片描述
审批界面还可以看到代码差异等等。

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

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

相关文章

服务器如何开启远程连接?

服务器开启远程连接是网络管理中一项重要的功能。通过远程连接,用户可以在任何地方远程访问服务器,从而进行管理、维护和监控等操作。远程连接的开启可以为工作提供便利性和效率,但同时也带来了安全风险。确保远程连接的安全性和可靠性是至关…

RPC的介绍和架构发展

RPC概念: RPC是远程过程调用协议,是一种不需要了解底层网络技术,调用远程计算机服务。 RPC框架的组成: 图1 当总项目的数据量、访问量不断提高,就把他分成多个服务,减轻单体机器的压力。分开的ABC服务之…

python高阶函数:zip()

概述与基本用法 zip() 是 Python 内置函数之一,用于将多个可迭代对象打包成一个元组序列,然后返回一个迭代器。它可以接受任意数量的可迭代对象作为参数,并将它们的元素按顺序一一对应地打包成元组。 以下是 zip() 函数的基本用法&#xff…

【前端】vue3树形组件使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、树形组件简介二、树形组件使用三、总结 前言 随着开发语言及人工智能工具的普及,使得越来越多的人学习使用vue前端工具,本文主要介…

iOS - 多线程-GCD-队列组

文章目录 iOS - 多线程-GCD-队列组1. 队列组1.1 基本使用步骤 iOS - 多线程-GCD-队列组 开发过程中,有时候想实现这样的效果 多个任务并发执行所有任务执行完成后,进行下一步处理(比如回到主线程刷新UI) 1. 队列组 可以使用GC…

npm安装时一直idealTree:npm: sill idealTree buildDeps卡住不动

npm安装时一直idealTree:npm: sill idealTree buildDeps卡住不动 解决步骤: 1.去以下的目录中删掉.npmrc文件(只在C:\User.npmrc) 2.清除缓存,使用npm cache verify 不要用npm cache clean --force,容易出现npm WAR…

【C++】:构造函数和析构函数

目录 前言一,构造函数1.1 什么是构造函数1.2 构造函数的特性1.3 总结 二,析构函数2.1 什么是析构函数2.2 析构函数的特性2.3 总结 前言 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何…

深度学习中的子空间、线性变换和矩阵概念应用

1.表示子空间 在深度学习中,“不同的表示子空间”通常是指模型通过不同的参数(例如权重矩阵)将输入数据映射到不同的高维空间,这些空间被称为表示子空间。每个子空间都能够捕获输入数据中不同的特征或模式。以下是一些详细解释&am…

新手Pytorch入门笔记-transforms.Compose()

我使用的图片是上图,直接下载即可 transforms.Compose 是PyTorch中的一个实用工具,用于创建一个包含多个数据变换操作的变换对象。这些变换操作通常用于数据预处理,例如图像数据的缩放、裁剪、旋转等。使用transforms.Compose 可以将多个数据…

广工电工与电子技术实验报告-8路彩灯循环控制电路

实验代码 module LED_water (clk,led); input clk; output [7:0] led; reg [7:0] led; integer p; reg clk_1Hz; reg [7:0] current_state, next_state; always (posedge clk) begin if(p25000000-1)begin …

接口测试和Mock学习路线(上)

一、接口测试和Mock学习路线-第一阶段: 掌握接口测试的知识体系与学习路线掌握面试常见知识点之 HTTP 协议掌握常用接口测试工具 Postman掌握常用抓包工具 Charles 与 Fiddler结合知名产品实现 mock 测试与接口测试实战练习 1.接口协议: 需要先了解 O…

微服务组件-反向代理(Nginx)

微服务组件-反向代理(Nginx) Nginx 基本概念 1、nginx是什么? ①、Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器同时也提供了IMAP/POP3/SMTP服务。它是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器&a…

Java | Leetcode Java题解之第50题Pow(x,n)

题目: 题解: class Solution {public double myPow(double x, int n) {long N n;return N > 0 ? quickMul(x, N) : 1.0 / quickMul(x, -N);}public double quickMul(double x, long N) {if (N 0) {return 1.0;}double y quickMul(x, N / 2);retu…

【UE5】蓝图通信方式

目录 1、直接通信 2、getAllActorsOfClass 3、getAllActorsOfClassWithTag 4、通过射线检测 5、接口 6、事件分发器 7、SpawnActor 8、调用控制台命令 9、关卡蓝图中直接调用 创建两个Actor蓝图 1、直接通信 场景中 2、getAllActorsOfClass 3、getAllActorsOfClassWit…

学习Rust第14天:HashMaps

今天我们来看看Rust中的hashmaps,在 std::collections crate中可用,是存储键值对的有效数据结构。本文介绍了创建、插入、访问、更新和迭代散列表等基本操作。通过一个计算单词出现次数的实际例子,我们展示了它们在现实世界中的实用性。Hashm…

故障诊断 | 基于迁移学习和SqueezeNet 的滚动轴承故障诊断(Matlab)

目录 效果一览基本介绍程序设计参考文献 效果一览 基本介绍 将一维轴承振动信号转换为二维尺度图(时频谱图),并使用预训练网络应用迁移学习对轴承故障进行分类。 迁移学习显著减少了传统轴承诊断方法特征提取和特征选择所花费的时间&#xff…

Coursera: An Introduction to American Law 学习笔记 Week 02: Contract Law

An Introduction to American Law 本文是 https://www.coursera.org/programs/career-training-for-nevadans-k7yhc/learn/american-law 这门课的学习笔记。 文章目录 An Introduction to American LawInstructors Week 02: Contract LawKey Contract Law TermsSupplemental Re…

C语言笔试题之计数质数

计数质数 实例要求 给定整数 n ,返回 所有小于非负整数 n 的质数的数量;示例: 实例分析 1、要计算小于非负整数 n 的质数的数量,可以使用埃拉托斯特尼筛法;2、这个算法通过标记素数的倍数来找出所有的素数&#x…

RTK负载(4K可见光+高分热成像+超广角+激光测距)四光AI智能识别跟踪吊舱技术详解

无人机光电吊舱的RTK负载(4K可见光高分热成像超广角激光测距)AI智能识别跟踪吊舱技术是一种高度集成和先进的无人机观测系统。系统结合了无人机的飞行能力和光电吊舱的多功能传感器,通过集成RTK(实时动态差分定位)技术…

STL_deque_stack_queue

Deque deque容器(双端队列) ​deque是一种双向开口的分段连续线性空间(对外号称连续,使用者无法感知它是分段的)。deque支持从头尾两端进行元素的插入和删除。deque没有容量的概念,因为它是动态地以分段连续空间组合而成的。随时…