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

2024-04-26 19:36

本文主要是介绍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。
在这里插入图片描述
添加完之后,就进入审批界面

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

这篇关于Gitflow实操以及代码审查Pull Request操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/938474

相关文章

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

MySQL实现多源复制的示例代码

《MySQL实现多源复制的示例代码》MySQL的多源复制允许一个从服务器从多个主服务器复制数据,这在需要将多个数据源汇聚到一个数据库实例时非常有用,下面就来详细的介绍一下,感兴趣的可以了解一下... 目录一、多源复制原理二、多源复制配置步骤2.1 主服务器配置Master1配置Master2配置2.2 从服

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据