【多人协作】场景模拟(一)

文章目录

    • 实现多人协作
    • 场景:
    • 操作流程
      • 1开发人员a和b克隆仓库到本地
      • 2在本地仓库建立分支并与远程分支建立链接
      • 3开发人员工作并提交代码
      • 4将合并dev分支与master分支

实现多人协作

多人协作开发是git的最核心也是最重要的操作。多人协作也就意味着同一时间里,可能有很多人提交不同版本的代码到远程仓库中,也就要求我们理解并且熟悉分支管理等操作。下面我们来简单模拟一个多人协作的场景,观察其流程。

场景:

现有一个远程仓库test,master分支中有一个code.cpp文件。要求添加两行代码到这个文件中:一行是a++,一行是b++ 这两行代码分别由a,b两名程序员分别完成。要求两名开发人员不能直接在master分支下操作,需要新建一个dev分支,并将代码先提交到dev分支下。最后合并dev分支与master分支。

初始仓库内容:
在这里插入图片描述
code.cpp初始版本:
在这里插入图片描述
我们希望在第7行处添加a++和b++。
新建分支dev,这个分支也就是后面开发人员的工作分支
在这里插入图片描述
值得注意的是,目前我们是模拟了两个用户,在实际开发中每个用户都有自己的gitee/github账户,如果要多人进行协同开发,必须要将用户添加到开发者,否则没有权限提交代码到仓库。
在这里插入图片描述
在这里插入图片描述
而为了简化步骤我这里就直接用两个本地仓库模拟两个用户了。

操作流程

1开发人员a和b克隆仓库到本地

克隆仓库使用指令git clone
为了确保最新的版本。使用git pull拉取操作
使用git branch -r指令可以查看origin(远端仓库默认叫origin)的分支
在这里插入图片描述

2在本地仓库建立分支并与远程分支建立链接

使用指令 git checkout -b dev origin/dev 建立链接的同时切换到dev分支。 同时使用指令git branch -vv查看本地分支与远程分支的;链接关系。
在这里插入图片描述
我们可以看到本地的dev分支与远程的dev分支建立了链接。在当前分支下git push操作就能直接推送到远程的dev分支下了。

将以上操作在另一台机器上再重新复刻一遍模拟开发成员b,准备工作完成。

3开发人员工作并提交代码

开发人员a完成工作
在这里插入图片描述
开发人员b完成工作
在这里插入图片描述

开发人员a提交代码到远程dev分支中
在这里插入图片描述
在这里插入图片描述
此刻开发人员a已经成功将代码推送到gitee中,此时开发人员b也试图推送代码,就会发生合并冲突问题:
在这里插入图片描述
这是因为由于a提交的代码和b提交的代码有冲突。都是在第7行修改代码,git不知道该怎么处理!而且由于a已经提交过代码了,此时b本地的dev分支已经落后于远程的dev分支了。

解决办法:先用git pull指令把最新的提交从origin/dev下抓取下来。然后在本地进行合并,解决冲突之后再推送
在这里插入图片描述
在这里插入图片描述
此时重新提交就能在远程仓库看到新的代码了。注意这里的重新提交是指add以及之后的一系列操作

在这里插入图片描述
此时a和b就完成了各自的工作,并且成功将代码合并提交到了远程的dev分支中。

4将合并dev分支与master分支

多人协作的目的还是将开发后的代码合并到master上去,让我们的项目运行最新的代码。
在这里插入图片描述
在本地的dev分支下pull操作,保证最新的dev版本。切换到本地的master分支下,同样,master分支也最好pull一下。将两个分支进行合并,合并的指令是:git merge dev。合并完之后再推送到远程的mast下中。
在这里插入图片描述

任务完成。上述代码只是一个例子,与实际开发要求无关。

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

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

相关文章

游戏私域运营干货必看 | 《 2023 中国移动游戏私域运营指南》下载

在新游竞争越发激烈、买量效率持续走低、用户注意力资源紧缺等悬而未决的现实困境下,游戏企业必须在存量市场中,寻找一条可行、可复制的出路。 为了一探究竟,网易云商分别面向国内 23 家中大型研运一体化游戏公司,与 2000 位真实…

红黑树!!

文章目录 1.红黑树的概念2.红黑树的几种情况2.1 情况一:cur为红,p为红,g为黑,u存在且为红(p为parent,g为grandfather,u为uncle)2.2 情况二:cur为红,p为红,g为黑&#xff…

MATLAB支持向量机:函数或变量 ‘svmtrain‘ 无法识别解决方法

我的MATLAB版本是2020a,在运行程序时出现了一下报错 若在运行程序时出现了以下报错: 支持向量机程序在MATLAB执行代码的时候发现有错误。 试一下help,如下图所示,SVM_L和svmtrain均找不到。 打开matlab帮助文档: 可…

C# XPTable in .net6(XPTable控件使用说明八)

经过作者schoetbi、armin-pfaeffle的努力,XPTable已经可以在 winform .net6 .net8的环境下使用,版本升级到了2.0,这样就可以在winform下同时使用XPTABLE和EFcore, 这样就可以解决大部分的场景了。

【HMGD】GD32/STM32 DMA接收不定长串口数据

单片机型号:GD32F303系列 CubeMX配置 配置串口参数 开启DMA 开启中断 示例代码 使用到的变量 uint8_t RX_Buff_FLAG 0; uint8_t RX_Buff[300] {0}; uint8_t TX_Buff[300] {0};串口接收空闲函数 // 串口接收空闲函数 void HAL_UARTEx_RxEventCallback(UART_H…

邮件地址采集软件有哪些-邮箱地址采集软件

邮件地址采集软件是帮助用户收集、管理和使用邮件地址的工具,它们在商业营销、市场调研、网络爬虫等领域有着广泛的应用。以下是一些常见的邮件地址采集软件: 易邮件地址搜索大师:易邮件地址搜索大师是一款搜索邮件地址和手机号码的软件&…

数据库开发记录

一.MySQL相关 1.Spatial Data相关

OpenAI发布最强大模型GPT-4o:对所有用户免费

OpenAI 最新推出的 GPT-4o 模型在实现更自然的人机交互方面迈出了重要一步。GPT-4o的“o” 源自拉丁语“全方位”,意思是“一切”。活动期间 OpenAI, 米拉穆拉蒂该公司技术总监上台展示了新的语言模型。她强调,拥有 OpenAI 帐户的每个人都可以免费使用新…

安装adobe系列,提示错误代码146解决办法

安装Adobe系列产品如PS、PR、Lrc等产品时,会因为各种各样的错误导致安装失败!今天小编为大家带来的是安装adobe系列,提示错误代码146解决办法,收藏起来吧! 方法一:就是传说中的万能大法,关机重启…

【MySQL】sql表设计的注意事项

程序员的实用神器 文章目录 程序员的实用神器强烈推荐引言注意事项强烈推荐专栏集锦写在最后 强烈推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能 推荐一个个人工作&#x…

五、Linux二进制安装MariaDB 六、MariaDB主从复制

目录 五、Linux二进制安装MariaDB1 卸载mariadb1.1 卸载相关的服务(mysql和mariadb都查询一下)1.2 查找MySQL和mariadb相关的文件目录 2 安装mariadb2.1 mariadb下载地址2.2 将安装包放入到服务器中并解压 (我放到opt下)2.3 将解压后的目录移动到安装目录下2.4 创建数据目录(根…

高效且安全的传输工具:FileLink跨网文件传输

在数字化时代,文件传输已成为我们日常工作和生活不可或缺的一部分。无论是企业内部的资料共享,还是企业对外的文件交换,都需要一个高效、稳定且安全的传输工具。而FileLink跨网文件传输正是满足这些需求的理想选择。 FileLink跨网文件传输 首…

雇佣 K 位工人的总代价

题目链接 雇佣 K 位工人的总代价 题目描述 注意点 costs[i]是雇佣第 i 位工人的代价每一轮雇佣后,剩余工人的下标可能会发生变化一位工人只能被选择一次如果剩余员工数目不足 candidates 人,那么下一轮雇佣他们中代价最小的一人如果有多位代价相同且最…

IOS 苹果IAP(内购)之创建沙盒账号

IOS 苹果IAP(内购)之创建沙盒账号 沙盒账号是什么?沙盒账号创建的前提条件沙盒账号创建沙盒账号使用流程沙盒账号注意事项 沙盒账号是什么? 如果IOS应用里面用到了苹果应用内付费(IAP)功能,那么…

上位机图像处理和嵌入式模块部署(树莓派4b的替代品)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 实话实说,树莓派4b的产品力还是比较优秀的,价格还算适中。但是和国产卡片电脑比起来,则逊色不少。功能差不多的…

第四篇 Asciidoc - MindMap 思维导图 不是事

MindMap 是一种对思维的简单抽象,说到底,就是一个树状结构。 以下是一个样例: Figure 1. MindMap示例 我们的目录结构、模块结构、分类结构等等,都是树型结构,它非常普遍,因此 MindMap 是笔记软件中,获得最多支持的一种图。 精确地说,这类图,是对思维结构的一种映射…

BES 平台 SDK之 美格信Dongle 连接

前言: 最近项目到了试产阶段,需要用到美格信的Dongel 来测试ANC 相关功能。在此简单介绍下如何连接Dongel 的操作步骤。 一:硬件材料清单 1.美格信dongle 一台 2.待测机器 二:软件工具 1.BES_Designer_Tool_v1.0.782 2.美格信驱动安装包 :libusb-win32-devel-filter-1.2…

C语言易错提醒选择题精选

Ⅰ 易错题 1.设有double p;&#xff0c;为变量p声明一个引用名称rp,则定义语句为 double& rpp; 2.已知‘A’一‘Z’的ASCII码为65—90&#xff0c;当执行“char ch14*52&#xff1b;cout<<ch<<endl;”语句序列后得到的输出结H &#xff0c;72对应ASCII码中…

免费分享一套SpringBoot+Vue教务管理(课程管理)系统,帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue教务管理(课程管理)系统&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue教务管理(课程管理)系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBootVue教务管理(课程管理)系统 …

品鉴中的盲品挑战:如何凭借感官判断红酒的类型与品质

盲品挑战是一种品鉴方式&#xff0c;通过蒙住品鉴者的眼睛&#xff0c;仅凭感官来判断红酒的类型和品质。这种方式考验品鉴者的感官敏锐度和经验&#xff0c;也是提升品鉴能力的一种有趣方式。那么&#xff0c;如何在盲品挑战中凭借感官判断雷盛红酒的类型与品质呢&#xff1f;…