【Git多人协作开发】同一分支下的多人协作开发模式

目录

0.前言场景

1.开发者1☞完成准备工作&协作开发

1.1创建dev分支开发 

1.2拉取远程dev分支至本地

1.3查看分支情况和分支联系情况

1.4创建本地dev分支且与远程dev分支建立联系

1.5在本地dev分支上开发file.txt

1.6推送push至远程仓库

2.开发者2☞完成准备工作&协作开发

2.1创建git目录

2.2powershell页面

2.3https协议克隆远程仓库

2.4查看分支情况且创建本地分支

2.5远程dev分支和本地dev分支建立连接

2.6windows图形化界面直接开发

2.7三板斧☞推送push

3.push出现冲突 

4.将内容合并进master分支

5.删除无用分支dev

6.总结模式


0.前言场景

目标:远程master分支下file.txt文件新增"aaa"、"bbb"。

实现:由开发者1新增"aaa",由开发者2新增"bbb"。

条件:在一个分支下协作完成。

【目前远程仓库的状态】

1.开发者1☞完成准备工作&协作开发

1.1创建dev分支开发 

 ❓怎么模拟两个开发者

Linux环境下和windows环境下都去克隆远程仓库就可以模拟两个开发者。

❓开发者1和2都是基于同一分支开发的

  • 肯定不是master分支(master分支是一个稳定的分支)
  • 创建一个其他dev分支来开发(本地或远程都可以创建)
  • 注意:无论是本地创建还是远程创建,都需要基于master的最新一次提交的版本。
  • 分支起点:基于哪个分支新建一个分支。

❗这里【演示在远程创建】☞然后pull拉取☞本地仓库

注意:这里创建的dev分支就是基于master最新一次提交版本来创建的。

 【远程创建】

1.2拉取远程dev分支至本地

  • git pull origin dev
  • git pull :这里短pull是拉取远程仓库的内容。(而非分支下的内容)

1.3查看分支情况和分支联系情况

  • git branch -a 在本地仓库查看本地分支和远程分支
  • 注意:本地的修改 必须在本地的分支上去操作,由本地push推送至远程的分支,不能直接在本地切换到远程的分支下去修改。相当于直接修改远程的分支下的某些内容。

  • git branch -vv查看本地分支和远程分支建立连接

1.4创建本地dev分支且与远程dev分支建立联系

  • 【建立联系情况1】:远程仓库存在dev分支,在本地仓库创建dev分支同时和远程仓库建立联系。
  • git checkout -b dev origin/dev
  • 在创建dev分支的时,切换到了本地dev分支下,同时将本地dev分支和远程的dev分支建立了一个连接。

1.5在本地dev分支上开发file.txt

  • vim file.txt
  • git add .
  • git commit -m " "

1.6推送push至远程仓库

  • git push
  • 因为上面已经建立了连接可以使用push操作的短命令

 

2.开发者2☞完成准备工作&协作开发

2.1创建git目录

2.2powershell页面

2.3https协议克隆远程仓库

2.4查看分支情况且创建本地分支

2.5远程dev分支和本地dev分支建立连接

  •  【建立联系情况2】:远程仓库由dev分支,本地仓库也创建了dev分支。
  • git branch --set-upstream-to=origin/dev dev

2.6windows图形化界面直接开发

2.7三板斧☞推送push

3.push出现冲突 

此刻出现以下情况:

  1. 先使用 git pull:将远程仓库的file.txt的内容拉取到到开发者2的本地仓库中(发生本地合并冲突)
  2. 在开发者2的本地服务端:解决冲突
  3. 再次提交,再次推送

 

4.将内容合并进master分支

  • master分支是没有这两行代码的。原因是master分支没有进行merge合并dev分支操作的。(所以是没有新增内容的)
  • 在工作中推荐使用PR申请单,因为PR需要经过审查员的审核的。审查员都是老板,项目经理对,开发代码都是有保障性质的。才能确保master分支是一个稳定的状态。

  • 两种解决方案
  1. 远程:PR☞申请单☞审查员审核(老板、项目经理)☞merge
  2. 本地:在本地服务器上merge操作☞再推送至远程仓库
  • 本地:merge操作
  1. 注意合并的master都是最新一次提交记录的版本(最新的❗)所以需要需要pull拉取远程仓库最新版本的master分支内容。master:pull
  2. 好习惯:切换到dev分支上先merge合并master分支,存在冲突在dev分支上解决,再次提交。dev merge master
  3. 切换至master分支之后再次合并dev分支。master merge dev
  4. 最后再push远程仓库。master:push

【master:pull】 

【dev merge master】

【master merge dev】

【master:push】

5.删除无用分支dev

6.总结模式

总结⼀下,在同⼀分⽀下进⾏多⼈协作的⼯作模式通常是这样:

  • 首先,可以试图⽤ git push origin branch-name 推送⾃⼰的修改;
  • 如果推送失败,则因为远程分⽀⽐你的本地更新,需要先⽤ git pull 试图合并;
  • 如果合并有冲突,则解决冲突,并在本地提交;
  • 没有冲突或者解决掉冲突后,再⽤git push origin branch-name推送就能成功!
  • 功能开发完毕,将分⽀ merge 进 master,最后删除分⽀。 

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【学习笔记】Elasticsearch学习汇总(包含SpringData、Spark、Flink操作)

文章目录 前言数据类型种类ES解决什么问题ELK StackES是什么数据格式正排(正向)索引倒排索引创建索引索引查询索引删除创建文档(添加数据)自定义ID 简单查询类似于主键查询查询所有数据 修改数据全量修改局部修改 删除数据条件查询请求路径(不推荐)请求体全查询分页查询指定查询…

普元EOS学习笔记-EOS的ide开发工具的介绍

前言 普元EOS开发包括低开和高开。 EOS低开,直接在浏览器操作即可,不需要编码。 EOS高开,需要使用EOS的ide工具,进行编码开发。 EOS的ide工具是普元在Eclipse基础上进行的扩展,添加了若干插件,专门用于…

如何使用Proxy实现JavaScript中的观察者模式

在软件开发中,尤其是JavaScript中,观察者模式是一种行为设计模式,它定义了一种一对多的关系。它允许多个观察者对象监听一个主题对象,并在主题状态发生变化时自动得到通知。这种模式常用于事件系统、数据绑定等场景。 在JavaScrip…

【React】箭头函数:现代 JavaScript 的高效编程方式

文章目录 一、箭头函数的基本语法二、箭头函数的特性三、在 React 中的常见用法四、最佳实践 在现代 JavaScript 中,箭头函数(Arrow Functions)是一种简洁的函数表达方式,并且在 React 开发中非常常见。箭头函数不仅简化了函数的语…

HighConcurrencyCommFramework c++通讯服务器框架 :目录,修改标题,配置,日志打印

目录规划 nginx 根目录下的三个文件 makefile :编译项目的入口,编译项目从这里开始 config.mk:也是个配置脚本用来增加变动的东西,应付可变 common.mk:最核心的编译脚本,每个子目录都要被编译.cpp程序 配置文件 配…

构建未来客户服务的智能平台架构

随着科技的飞速发展,客户服务不再仅仅是响应投诉和提供支持,而是成为企业与客户之间重要的互动和沟通桥梁。在这个信息化和智能化的时代,构建一个优秀的客户服务平台架构至关重要,它不仅能提升服务效率,还能增强客户满…

《0基础》学习Python——第二十一讲__网络爬虫/<4>爬取豆瓣电影电影信息

爬取网页数据(获取网页信息全过程) 1、爬取豆瓣电影的电影名称、导演、主演、年份、国家、评价 2、首先我们先爬取页面然后再获取信息 1、爬取网页源码 import requests from lxml import etree if __name__ __main__:#UA伪装head{User-Agent:Mozilla/…

Bootstrap实现dialog上一步下一步多个弹窗交互

Bootstrap实现dialog上一步下一步多个弹窗交互 版本介绍: Bootstrap v3.3.7jQuery v3.5.1 一、功能介绍 重新设置bootstrap主题色内容区以card形式展示,纯js实现分页功能共两步骤,第一步选择模板,第二步进行其他操作步骤一内的按…

隧道洞外亮度检测器的工作原理

TH-SDG2隧道洞外亮度检测器是一种专门用于监测隧道洞外光照强度的设备,它通过感光器件和计算机技术,实时测量隧道出口处的光照强度,并根据测量结果控制隧道内的照明系统,以确保车辆在隧道内外切换时的行驶安全性。 隧道洞外亮度检…

谷粒商城实战笔记-54-商品服务-API-三级分类-拖拽效果

文章目录 一,54-商品服务-API-三级分类-修改-拖拽效果1,el-tree控件加上允许拖拽的属性2,是否允许拖拽3,完整代码 一,54-商品服务-API-三级分类-修改-拖拽效果 本节的主要内容是给三级分类树形结构加上拖拽功能&#…

【llama3.1】ollama的使用--本地部署使用llama3.1模型

快速入门 安装完成ollama后,在命令行窗口输入 ollama run llama3 上图表示 Ollama 正在下载 llama3 任务所需的资源文件,并显示了当前的下载进度、速度和预计剩余时间。这是 Ollama 在准备运行 llama3 任务之前所需的步骤。 上面的步骤完成后,就可以在本地进行聊天了,…

java面向对象进阶进阶篇--《抽象类和抽象方法》

个人主页VON 所属专栏java从入门到起飞 目录 个人主页​编辑我的主页​编辑 一、简介 抽象方法: 抽象类: 概述: 二、抽象类 特点和用途 示例: Animal类 Dog类 Flog类 Sheep类 Text类 结果展示: 三、抽象方…

【区块链+绿色低碳】基于区块链技术的碳账户金融服务平台 | FISCO BCOS应用案例

实现碳达峰、碳中和是我国一场广泛而深刻的经济社会变革,是党中央统筹国内国际两个大局和经济社会发展全局, 推动生态文明建设和经济高质量发展,建设社会主义现代化强国作出的重大战略决策。金融资源绿色低碳化是推 动碳达峰、碳中和的重要手…

ICMPv6与DHCPv6之网络工程师软考中级

ICMPv6概述 ICMPv6是IPv6的基础协议之一。 在IPv6报文头部中,Next Header字段值为58则对应为ICMPv6报文。 ICMPv6报文用于通告相关信息或错误。 ICMPv6报文被广泛应用于其它协议中,包括NDP、Path MTU发现机制等 ICMPv6控制着IPv6中的地址自动配置、地址…

将github上的项目导入到vscode并创建虚拟环境

1、将github上的项目导入到vscode 直接从github上下载到本地&#xff0c;用vscode打开&#xff08;Open file&#xff09; 2、创建虚拟环境 python -m venv <name> <name>\Scripts\activate ps: 1、退出虚拟环境 deactivate 2、如果运行python -m venv <…

十七、(正点原子)Linux LCD驱动

一、Framebuffer设备 在 Linux 中应用程序通过操作 RGB LCD 的显存来实现在 LCD 上显示字符、图片等信息。 先来看一下裸机 LCD 驱动如下&#xff1a; ①、初始化 I.MX6U 的 eLCDIF 控制器&#xff0c;重点是 LCD 屏幕宽(width)、高(height)、 hspw、 hbp、 hfp、 vspw…

c++语言实现类似swoole扩展的项目实践

实践目录&#xff1a; 最终实现的效果&#xff1a; <?php$server new BF\Server("0.0.0.0",9509);$server->on("connect",function($server,$fd){print_r($server);echo "收到客户端的连接了\r\n" ; });$server->on("receive…

嵌入式人工智能(24-树莓派4B的Linux系统故障日志查询分析)

1、dmesg ‌dmesg命令用于显示或控制‌Linux内核的环形缓冲区内容&#xff0c;主要用于查看系统启动信息、硬件检测、驱动加载等关键信息。以下是该命令的一些基本用法和选项&#xff1a; 基本用法&#xff1a;直接输入dmesg命令即可查看内核消息。例如&#xff0c;使用sudo …

Windows10+vs 2017中创建WEB API教程

我们如果需要用到web api怎么办&#xff1f;一般来说可以自己开发和去使用别人开发好的api&#xff0c;今天我们来讲一下Windows10vs 2017中创建web Api的教程。目前本教程当中的方法在Win10 VS2017&#xff08;MVC5&#xff09;win server2016vs2017&#xff0c;vs2013 vs201…

PHP简单商城单商户小程序系统源码

&#x1f6cd;️轻松开店&#xff0c;触手可及&#xff01;「简单商城小程序」让电商梦想照进现实&#x1f31f; &#x1f389;开店新风尚&#xff0c;「简单商城小程序」引领潮流&#xff01; 还在为繁琐的电商开店流程烦恼吗&#xff1f;想要快速搭建自己的线上商城&#x…