(二)Git在公司中团队内合作和跨团队合作和分支操作的全部流程(一篇就够)

(一)Git连接GitHub的全部流程https://blog.csdn.net/m0_65992672/article/details/132333727

团队内协作

项目经理通过git push将代码推送到远程仓库【也就是git、gitee等代码托管中心】,推完以后组员可以通过git clone克隆下来代码,如果组员修改了代码想要推到远程仓库的话,需要项目经理将组员添加到当前项目团队中,组员可以得到登录代码托管中心的密码和账号,此后就可以git push将代码推到远程仓库,当项目经理觉得你代码没有问题后就会将组员的代码git pull到自己的本地,然后推送到远程仓库【注意:组员修改代码都是在自己的分支上】

邀请合作伙伴加入团队

1)选择邀请合作者

2)填入想要合作的人

3 ) 复 制 地 址 并 通 过 微 信 钉 钉 等 方 式 发 送 给 该 用 户 , 复 制 内 容 如 下 :

https://github.com/atguiguyueyue/git-shTest/invitations

)在 atguigulinghuchong 这个账号中的地址栏复制收到邀请的链接,点击接受邀请。

)成功之后可以在 atguigulinghuchong 这个账号上看到 git-Test 的远程仓库。

然后就可以进行克隆进行修改,然后push到仓库中

克隆操作

远程库地址复制:

克隆操作:

idea中克隆

【注意:组员修改代码都是在自己的分支上】

分支操作

创建一个分支

master -> New Branch

在这里插入图片描述

填写分支名称,Create

在这里插入图片描述

创建分支成功后,会自动切换到创建的分支

在这里插入图片描述

可以看出GitHub上git仓库多了一个分支

在这里插入图片描述

通常情况下,一个项目可能有多个分支,由多个开发人员开发,每个开发者会创建自己的分支,然后将代码合入到主分支

下面我们就来看看,如何将代码合入主分支

第一步 拉取主分支最新代码

因为我们要合入代码到主分支master,所以先拉取master分支的最新代码,防止合入时产生冲突

在这里插入图片描述

选择master分支

在这里插入图片描述

拉完代码可能会有冲突,我们处理完冲突后,切换到master分支

在这里插入图片描述

Git合并分支逻辑

主分支中将分支的代码合入时不需要处理冲突了,因为之前在分支上拉取了主分支代码处理过冲突了,但是在多开发者的共同开发的情况下,这不是一定的,因为在我们将多位开发者的多份代码合入主分支时,如果此时有人提交了的代码和你提交的代码有交集,就有可能导致冲突发生,但这种情况下,概率比较低,一般来说,每个开发者负责的开发任务一般没有交集,即使别人提的代码,很少会影响到你提交的代码,但是如果有冲突,解决一下也可以

一般企业开发中会规定一个统一的合入代码时间,这样,合入代码时就可以专心解决合入中少量的冲突问题(有时甚至没有冲突),而不用关心,合入中途还有新代码的合入(一般也会限制开发者不能直接提代码到主分支,由某人统一合入开发者们申请合入的代码),也就是说合入代码前只拉取一次最新的主分支代码,然后合入各分支代码

下面为合并分支代码的具体步骤

master -> zj -> Merge ‘zj’ into ‘master’

在主分支中将zj分支合并到master主分支中

在这里插入图片描述

在主分支合入完分支代码后,还需要将本地仓代码推送给GitHub,这样以后别人拉取主分支代码时,就是最新的代码了

注:在提交代码时,都要考虑下是否需要先拉取下最新代码,以防产生冲突

将分支推送到远程仓库

 

冲突合并

首先yka分支新增一条数据提交了

现在切换到master

master在同一位置新增一条数据并提交

现在在主分支中把yka分支合并到master分支中

就会出现合并合并冲突

特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix

 

 

切换到yka分支中合并主分支

两个分支就一致了

将分支推送到远程仓库

 

跨团队协作

A团队先发送和团队一个远程仓库地址,B团队搜索这个地址进行fork操作到自己的仓库中【两个团队的代码通过fork互通】,B团队将A团队远程库的代码克隆下来到本地仓库,修改完成以后通过git push将修改后的代码推到自己B团队的远程库中,然后B团队发送一个Pull request请求给A团队【提示A团队拉取代码,但A团队需要审核这个代码】审核通过之后,A团队通过merge将B团队修改的代码合并到A团队的远程库,然后A团队就可以将新代码pull到自己的本地库中

不需要邀请别人加入自己的团队

将远程仓库的地址复制发给邀请跨团队协作的人,比如东方不败,张三李四

以下操作流程:张三把项目仓库地址发送给李四,李四先搜索地址在进行fork操作把张三的项目拿到自己的仓库中,李四在进行修改项目,修改完成后push到自己的仓库中,李四在进行pull request操作,争夺张三同意,同意之后李四改的数据才会提交到张三仓库中

【1】张三把远程库的地址发给李四:

项目的地址:

https://github.com/zhaoshanshan3366/GitResp2.git

【2】李四进行fork操作:

李四进入到账号后:复制地址:https://github.com/zhaoshanshan3366/GitResp2.git

然后点击下面的fork操作:

这样就等同于创建了一个自己的远程仓库。但是这个远程仓库等同于是一个分支远程仓库,你可以随便操作,并不会影响源仓库,但是如果你的修改,更新想要融合到源仓库中,就需要提交申请了。


fork完之后就把张三的项目复制到李四的仓库中了


【3】然后李四就可以克隆到本地,并且进行修改,修改完成后push到自己仓库中:

克隆操作

远程库地址复制:

克隆操作:

idea中克隆

也可以进行上面团队内合作的分支操作

分支操作

【4】李四修改完内容进行pull request操作,给张三发送请求,争夺张三同意,同意之后李四改的数据才会提交到张三仓库中:


 


 

【5】张三进行审核操作,同意之后李四改的数据才会提交到张三仓库中:

可以互相留言:

查看具体提交的内容:

确定通过以后,可以进行合并,李四修改的内容就与张三合并了

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

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

相关文章

redis主从复制

随着项目访问量的增加&#xff0c;对Redis服务器的操作也越加频繁&#xff0c;虽然Redis读写速度都很快&#xff0c;但是一定程度上也会造成一定的延时&#xff0c;那么为了解决访问量大的问题&#xff0c;通常会采取的一种方式是主从架构Master/Slave&#xff0c;Master 以写为…

3.react useRef使用与常见问题

react useRef使用与常见问题 文章目录 react useRef使用与常见问题1. Dom操作: useRef()2. 函数组件的转发: React.forwardRef()3. 对普通值进行记忆, 类似于一个class的实例属性4. 结合useEffect,只在更新时触发FAQ 1. Dom操作: useRef() // 1. Dom操作: useRef()let app doc…

一些指令工具

一、adb shell adb shell下一些常用命令行工具&#xff1a; pm&#xff1a;PackageManager&#xff0c;包管理器&#xff0c;用于管理应用程序的安装、卸载、查询和更多相关操作。 pm install …// pm uninstall …// pm list packages//设备上已安装的应用程序 pm dump …//获…

C运行时错误——error realloc(): invalid next size

在LeetCode做题时遇到一个运行时错误&#xff0c;将引起问题的原因记录一下备忘&#xff1a; 我们在malloc或calloc等API分配内存时&#xff0c;libc库除了分配给我们在参数中设定大小的内存&#xff08;可能会有内存对齐&#xff0c;实际分配的比参数设定的要多&#xff09;&…

填充柄功能

单元格右下角十字符号 顺序式填充 输入1,2&#xff0c;直接拉取即可实现顺序1到10. 复制式填充 CtrlD或者拉取&#xff0c;选择右下角复制单元格。 规律式填充 输入星期一&#xff0c;星期二&#xff0c;下拉一直可以到星期日 自定义填充 选择文件-》选项-》自定义序列 输…

【python办公自动化】PysimpleGUI中的popup弹窗中的按钮设置居中

PysimpleGUI中的popup弹窗中的按钮设置居中 背景问题解决背景 默认的popup弹窗中的OK按钮是在最下面偏左侧一些,有时需要将按钮放置居中 问题解决 首先找到pysimplegui源代码文件中popup的部分 然后定位到19388行,源文件内容如下 关于popup弹窗OK按钮的设置,将pad属性…

STM32——SPI外设总线

一、SPI外设简介 STM32内部集成了硬件SPI收发电路&#xff0c;可以由硬件自动执行时钟生成、数据收发等功能&#xff0c;减轻CPU的负担【硬件电路自动生成时序】 可配置8位/16位数据帧、高位先行/低位先行 时钟频率&#xff1a; fPCLK / (2, 4, 8, 16, 32, 64, 128, 256)【SP…

面试之快速学习STL- vector

1. vector底层实现机制刨析&#xff1a; 简述&#xff1a;使用三个迭代器表示的&#xff1a; &#xfffc; 这也就解释了&#xff0c;为什么 vector 容器在进行扩容后&#xff0c;与其相关的指针、引用以及迭代器可能会失效的原因。 insert 整体向后移 erase 整体向前移…

关于uniapp微信小程序scroll-view组件使用show-scrollbar隐藏不了滚动条

这里关于使用 scroll-view组件 时候有滚动条 想要隐藏滚动条但是使用show-scrollbar没有效果 这时候又使用类名隐藏滚动条 使用id隐藏滚动条都不行 解决方法&#xff1a;在使用 scroll-view组件 的页面或者app 页面加上以下代码就可以了 ::-webkit-scrollbar {displa…

53.Linux day03 文件查看命令,vi/vim常用命令

今天进行了新的学习。 目录 1.cat a.查看单个文件的内容&#xff1a; b.查看多个文件的内容&#xff1a; c.将多个文件的内容连接并输出到一个新文件&#xff1a; d.显示带有行号的文件内容&#xff1a; 2.more 3.less 4.head 5.tail 6.命令模式 7.插入模式 8.图…

BBS项目day04 文章详情页、点赞点菜、评论功能

一、路由 from django.contrib import admin from django.urls import path, re_path from app01 import views from django.views.static import serve from django.conf import settingsurlpatterns [path(admin/, admin.site.urls),# 注册path(register/, views.register)…

【3Ds Max】布料命令的简单使用

简介 在3ds Max中&#xff0c;"布料"&#xff08;Cloth&#xff09;是一种模拟技术&#xff0c;用于模拟物体的布料、织物或软体的行为&#xff0c;例如衣物、帆布等。通过应用布料模拟&#xff0c;您可以模拟出物体在重力、碰撞和其他外力作用下的变形和动态效果。…

苹果审核:传完包,邮箱收到 ITMS-90078: Missing Push Notification Entitlement

邮件原文&#xff1a; We identified one or more issues with a recent delivery for your app, "***" 1.0. Your delivery was successful, but you may wish to correct the following issues in your next delivery: ITMS-90078: Missing Push Notification En…

Java寻找数组的中心下标

目录 1.题目描述 2.题解 分析 具体实现 1.题目描述 给你一个整数数组 nums &#xff0c;请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标&#xff0c;其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端&#xff0c;那么左侧数之和…

【C++ 记忆站】引用

文章目录 一、引用概念二、引用特性1、引用在定义时必须初始化2、一个变量可以有多个引用3、引用一旦引用一个实体&#xff0c;再不能引用其他实体 三、常引用四、使用场景1、做参数1、输出型参数2、大对象传参 2、做返回值1、传值返回2、传引用返回 五、传值、传引用效率比较六…

label引用图片出现??

参考latex 引用图片“\ref figure”_latex \ref加上前缀fig_Junruiqwertyuiop的博客-CSDN博客 label需要放在caption后面&#xff0c;如 \caption{Overview of BERT.} \label{BERT} 猜测&#xff0c;label可能会根据图表或者公式的caption与图表或公式绑定并编号&#xff0…

【MT32F006】MT32F006之CS1237采集秤传感器

本文最后修改时间&#xff1a;2023年06月07日 一、本节简介 本文介绍如何使用MT32F006连接CS1237芯片采集秤传感器。 二、实验平台 库版本&#xff1a;V1.0.0 编译软件&#xff1a;MDK5.37 硬件平台&#xff1a;MT32F006开发板&#xff08;主芯片MT32F006&#xff09; 仿真…

Chrome命令行开关

Electron 支持的命令行开关 –client-certificatepath 设置客户端的证书文件 path . –ignore-connections-limitdomains 忽略用 , 分隔的 domains 列表的连接限制. –disable-http-cache 禁止请求 HTTP 时使用磁盘缓存. –remote-debugging-portport 在指定的 端口 通…

ORACLE中判断表是否存在再删除表避免报错与MySql和SqlServer的不同

不同数据库中drop a table if it exists的不同&#xff1a; In MySQL it is pretty easy to drop a table if it exists already. In Oracle and Microsoft’s SQL Server it is a little more complicated. Today I want to present you the solutions for these two DBMS’.…

常见的CRM系统报价

一个CRM系统大概多少钱&#xff1f;CRM系统的价格因为不同的厂商、功能、部署方式、用户数等因素而有很大的差异&#xff0c;没有一个固定的标准。但是&#xff0c;我们可以根据一些常见的CRM软件的报价&#xff0c;对CRM价格有一个大致的了解。 一、CRM的部署方式 CRM系统的…