团队项目开发使用git工作流(IDEA)【精细】

目录

开发项目总体使用git流程

图解流程

1.创建项目仓库[组长完成]

2. 创建项目,并进行绑定远程仓库【组长完成】

3.将项目与远程仓库(gitee)进行绑定

3.1 创建本地的git仓库

3.2 将项目添加到缓存区

3.3 将项目提交到本地仓库,并推送到远程仓库上

4.在远程仓库上创建不同组员分支和主要分支:【组长或组员完成】

4.1 创建主要分支(dev):

5. 提交代码的流程

5.1 组员李四的开发流程

5.2 组长张三合并分支

5.2.2 组长张三拉取远程ls分支的最新代码合并到本地的dev中

5.2.3 将本地dev分支推送到远程dev分支

5.2.4 其他组员拉取最新代码


开发项目总体使用git流程

前置条件:

        1.项目团队为多人(本开发项目使用git流程案例为3人团队)

        2. gitee平台上有一个代码仓库,用于存储项目代码

        3. 仓库中有不同人的分支,外加一个主要分支dev(3人分支+dev分支=4个分支)        


流程:

        1.首先我们团队有3人(张三,李四,王五),分别对应三个分支(分支名称:zs,ls,ww)

        2.这3个人当中有一个是项目组组长(张三),组长是用来操作主要分支和自己的分支,也就是dev分支与zs分支,其余人操作各自的分支就行,组长负责自己的分支,与dev分支

        3.dev分支作用用于合并不同组员开发的不同功能代码,也就是最新代码

        4.一开是不同组员都在开发不同的功能代码,当第一个组员(李四)开发完成后,先将dev最新代码拉取到(pull)李四本地的分支上(ls)来保证自己的代码是最新的,然后再将代码提交到自己的远程分支(ls)上【本地分支与远程分支(gitee平台上的分支)】 (组员做的事情

        

        5.这时候组员(李四)告诉组长(张三),我的功能已经开发完成了,组长(张三)知道了后,切换到主要分支(dev)分支,将张三的分支(zs) 拉取到(pull)dev上,这时候的dev是最新的代码,接着如果有其他组员需要提交一定先从远程dev获取最新代码在进行提交(组长要做的事情)

图解流程

1.创建项目仓库[组长完成]

     

2. 创建项目,并进行绑定远程仓库【组长完成

3.将项目与远程仓库(gitee)进行绑定

3.1 创建本地的git仓库

3.2 将项目添加到缓存区

3.3 将项目提交到本地仓库,并推送到远程仓库上

查看远程仓库:(刷新)

远程仓库绑定成功


4.在远程仓库上创建不同组员分支和主要分支:【组长或组员完成

4.1 创建主要分支(dev):

4.2 创建小组成员的分支(zs【张三】,ls【李四】,ww【王五】)

组长张三分支(zs):

组员李四分支(ls):

组员王五分支(ww): 

返回仓库查看分支:

远程仓库创建分支完成


5. 提交代码的流程

前面已经把一个准备工作完成了,现在演示不同组员开发完成之后的一个流程

5.1 组员李四的开发流程

5.1.1  首先更新项目将分支更新一下

更新发现现在有了远程创建的所有分支

5.1.2 切换到李四的分支(ls)

只需要操作自己的分支 :【组员】               

                1.【组员】是谁,就需要切换自己的分支,比如:李四就切换到ls自己的分支,王五就切换到王五自己的分支,组员只需要操作自己的分支就可以了


操作两个分支,自己的分支和dev分支: 【组长】               

                2. 【组长】就需要操作两个分支了,因为组长需要将组员开发的代码合并到dev分支,也就是主要分支,来保证其他组员包括自己的代码在开发完成后,能够获取最新的代码,组长也有自己的分支,比如张三是组长,他也也要开发项目,所以张三也要操作zs这个分支,但是他还有一个职责就是合并其他组员开发后的代码,而dev是最新代码的分支,所以要将其他组员开发过后的代码合并到dev分支上,张三就还要操作dev分支


总结:     组员只需要操作自己的分支,组长需要操作自己的分支和dev分支

 5.1.3 组员李四进行一个项目开发

                创建controller包,并创建一个类LiSiController

5.1.4 将自己的代码提交到主要分支(dev)

                假设组员李四已经完成了开发,现在就要提交代码到远程分支

提交步骤: [李四组员的提交]

                1. 首先将李四自己开发的代码提交到本地暂存区

                2. 从dev获取最新代码,更新到李四自己的分支(不管dev有没有新代码【强制】)

                3. 最后将李四自己开发的代码提交到本地仓库,并提交到远程仓库


总体流程:

        组员李四开发代码完成---------->将代码提交到本地仓库的暂存区------------------>从远程dev分支获取最新代码合并到ls自己的分支----------------->提交代码到本地仓库ls分支上,并将代码提交到远程仓库ls分支上

1. 首先将李四自己开发的代码提交到本地暂存区

2. 从远程dev获取最新代码,更新到李四自己的本地ls分支上(不管远程dev有没有新代码【强制】)

不管远程dev有没有最新的代码,都pull一下,这样可以保证不会出错

这里是从远程dev 分支获取最新代码:

3. 最后将李四自己开发的代码提交到本地仓库ls分支上,并提交到远程仓库ls分支上

 查看一下远程仓库:

查看一下本地仓库的提交:

这个时候组员李四一个操作流程就ok了,他只需要将自己的代码提交到本地仓库,在将自己的代码提交远程自己的分支就行了,组员李四在告诉一下组长,自己已经提交了新的功能,让组长合并一下最新代码到dev,合并完成了之后,其他组员如果开发完成了,则先提交自己的代码到本地的暂存区,然后从【远程】dev拉取最新代码到组员自己的分支上,最后在提交到dev分支,整体都是这样一个流程

组员李四提交完成!!!


5.2 组长张三合并分支

上面组员李四提交自己的代码到远程分支ls上,但远程dev并没有组员李四最新的代码,这个时候组长张三就需要将这个远程ls分支中的代码合并到远程dev分支上,来保证其他组员可以获取最新的代码

5.2.1 组长张三切换到dev分支

发现并没有组员李四提交的最新代码:

5.2.2 组长张三拉取远程ls分支的最新代码合并到本地的dev中

上面本地的dev已经有了李四开发后的最新代码了,但是这最新的代码只是存在本地上,远程仓库的dev分支还并没有李四开发后的最新代码,所以其他组员并不能拉取最新的代码,我们需要将这个最新的代码推送到远程dev分支上

5.2.3 将本地dev分支推送到远程dev分支

查看远程dev分支:

远程分支记录是不是有李四的提交记录了

当组长合并代码完成后就可以不用管dev分支了,在切回组长自己的分支zs继续开发代码

5.2.4 其他组员拉取最新代码

组员王五拉取最新代码,先切换ww分支

远程dev分支获取最新代码到本地ww分支 

本地ww分支有了其他组员开发的最新代码了


最后总结:

          1. 组长操作两个分支,一个是自己的分支,一个是dev分支,自己的分支用于开发代码,dev分支用于合并其他组员远程分支上的代码包括自己的远程分支上的代码,但这时候的合并只是合并到本地的dev分支上,接着要将合并好的本地dev分支推送到远程的dev分支上,这样组员才能从远程的dev拉取最新的代码到自己的本地分支上


           2. 组员操作1个分支,先从远程dev分支获取最新代码合并到自己的本地分支上,然后在提交本地分支和远程分支就可以了

 

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

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

相关文章

102、python-第三阶段-11-数据输出-输出到文件中

配置完成后,再次执行代码,发现输出的文件有好多,和电脑的内核数量有关系 这样就可以分别输出到一个对应的文件了

攻防世界---misc---normal_png

1、下载附件是一张图片 2、先看这张照片,我感觉它的宽高不一样,感觉有问题,但是我也没深想 3、接着用winhex分析,也没有发现奇怪的地方,于是我去binwalk,没什么发现,就是一张正常的图片&#x…

【Vue】Vue生命周期

Vue生命周期:就是一个Vue实例从创建(new一个Vue实例) 到 销毁(关闭网页) 的整个过程。 生命周期四个阶段:① 创建 ② 挂载 ③ 更新 ④ 销毁 创建阶段:创建响应式数据 通过data给当前的Vue实例提…

树莓集团:产学研一体化发展

树莓集团,通过与高校、研究机构等合作,旨在促进科技成果的转化和应用,提高技术创新能力,实现经济社会可持续发展。深刻认识产学研一体化对于推动产业创新、提升竞争力的关键作用。 1、与高校合作 紧密合作:树莓集团与…

Day08 备忘录页面设计

​ 当前章节完成后效果图 一.布局设计和生成静态数据 当前章节备忘录页面布局设计跟 第7章节一样,只是内容方面发生变化,其他样式都一样。直接把代码粘出来了当前章节备忘录 MemoView.xaml 页面完整示例代码 <UserControl x:Class="MyToDo.Views.MemoView"xmlns…

Python | 刷题日记

1.海伦公式求三角形的面积 area根号下&#xff08;p(p-a)(p-b&#xff09;(p-c)) p是周长的一半 2.随机生成一个整数 import random xrandom.randint(0,9)#随机生成0到9之间的一个数 yeval(input("please input:")) if xy:print("bingo") elif x<y:pri…

python数据分析——逻辑回归

参考资料&#xff1a;活用pandas库 逻辑回归 当响应变量为二值响应变量时&#xff0c;经常使用逻辑回归对数据建模。 # 导入pandas库 import pandas as pd # 导入数据集 acspd.read_csv(r"...\data\acs_ny.csv") # 展示数据列 print(acs.columns) # 展示数据集 pri…

[数据集][图像分类]茶叶叶子病害分类数据集304张4类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;304 分类类别数&#xff1a;4 类别名称:[“anthracnose”,“bird_eye_spot”…

功效系数法

功效系数法&#xff08;Efficacy Coefficient Method&#xff09;是一种综合评价方法&#xff0c;它根据多目标规划的原理&#xff0c;对每个评价指标确定一个满意值和不允许值&#xff0c;以满意值为上限&#xff0c;以不允许值为下限。计算各指标实现满意值的程度&#xff0c…

ant-design vue3 中上传图片组件的回传图片显示问题

最近在做web端的上传图片 有一个数据列表中的编辑功能 是之前上传的图片 点击编辑进入编辑页面 会显示之前写的数据 现在需要把原来上传的图片 显示出来 因为之前给后端上传的 图片格式 是一个数组 ["图片链接"&#xff0c;“图片链接”。。。] 后端给我返回的数据也…

ESP32 ESP8266 Arduino开发环境离线安装

在下面链接中详细介绍了ESP32 ESP8266在线安装方法&#xff0c; 智能红外遥控器&#xff08;二&#xff09;&#xff1a; Arduino环境搭建及库安装_arduino ide 1.8.13-CSDN博客 但是由于在线安装受国外服务器的影响很多时间会不成功&#xff0c;下面介绍使用离线安装包的方法…

AI视频教程下载:给初学者的ChatGPT提示词技巧

你是否厌倦了花费数小时在可以通过强大的语言模型自动化的琐碎任务上&#xff1f;你是否准备好利用 ChatGPT——世界上最先进的语言模型——并将你的生产力提升到下一个水平&#xff1f; ChatGPT 是语言处理领域的游戏规则改变者&#xff0c;它能够理解并响应自然语言&#xf…

JavaWeb基础(JQuery,XML及解析)

这个阶段有点拖沓了&#xff0c;因为事情比较多&#xff0c;耽搁了一段时间&#xff0c;学习的主要内容为JQuery和XML&#xff0c;因为vue的出现&#xff0c;JQuery技术现在已经不流行了&#xff0c;但是不流行不代表我不会&#xff0c;JQuery最最最最核心的就是他的$()核心函数…

十大排序 —— 希尔排序

十大排序 —— 希尔排序 什么是希尔排序插入排序希尔排序递归版本 我们今天来看另一个很有名的排序——希尔排序 什么是希尔排序 希尔排序&#xff08;Shell Sort&#xff09;是插入排序的一种更高效的改进版本&#xff0c;由Donald Shell于1959年提出。它通过比较相距一定间…

路由策略案例

一、路由策略案例 如图所示&#xff0c;某公司内终端通过Switch接入公司内部网络。如果该公司内存在非如图1所示&#xff0c;运行OSPF协议的网络中&#xff0c;RouterA从Internet网络接收路由&#xff0c;并头RouterB提供了部分Internet路由。其中: RouterA仅提供172.1…

工厂模式——工厂方法模式+注册表

工厂方法模式的瑕疵 在前一篇笔记中我们介绍了工厂方法模式&#xff0c;示例的类图如下&#xff1a; 考虑一种情况&#xff1a;现在要在程序运行时&#xff0c;根据外部资源&#xff0c;动态的实例化对象。也就是说在编译期我们无法知道要实例化的对象的类型。因此在实例化的过…

Java 新手入门:基础知识点一览

Java 新手入门&#xff1a;基础知识点一览 想要踏入 Java 的编程世界&#xff1f;别担心&#xff0c;这篇文章将用简单易懂的表格形式&#xff0c;带你快速了解 Java 的基础知识点。 一、Java 是什么&#xff1f; 概念解释Java一种面向对象的编程语言&#xff0c;拥有跨平台、…

JDBC-MySQL

JDBC-MySQL 1.JDBC 操作步骤1.1 DriverManager1.2.Connection对象1.3 Statement1.4 PreparedStatement 1.JDBC 操作步骤 public void quickStart() throws ClassNotFoundException, SQLException {//1、注册驱动 &#xff08;确认要使用哪个数据库&#xff09;Class.forName(&…

短视频直播教学课程小程序的作用是什么

只要短视频/直播做的好&#xff0c;营收通常都不在话下&#xff0c;近些年&#xff0c;线上自媒体行业热度非常高&#xff0c;每条细分赛道都有着博主/账号&#xff0c;其各种优势条件下也吸引着其他普通人冲入。 然无论老玩家还是新玩家&#xff0c;面对平台不断变化的规则和…

《2024年DDoS趋势报告》:DDoS攻击规模飙升233.33%

2023年&#xff0c;数字领域面临着分布式拒绝服务&#xff08;DDoS&#xff09;攻击的变革浪潮&#xff0c;攻击速度创纪录地达到了每秒700 Gbps和8000万数据包。这些事件跨越了从游戏到金融服务的各个行业&#xff0c;突显了DDoS是一种普遍存在的风险。 值得注意的是&#xf…