(二)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.hqwc.cn/news/72588.html

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

相关文章

初阶C语言-结构体

&#x1f31e; “少年有梦不至于心动&#xff0c;更要付诸行动。” 今天我们一起学习一下结构体的相关内容&#xff01; 结构体 &#x1f388;1.结构体的声明1.1结构的基础知识1.2结构的声明1.3结构成员的类型1.4结构体变量的定义和初始化 &#x1f388;2.结构体成员的访问2.1结…

文字点选验证码识别(上)-YOLO位置识别

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 文章中没有代码,只有过程思路,请大家谨慎订阅。…

【探索Linux】—— 强大的命令行工具 P.5(yum工具、git 命令行提交代码)

阅读导航 前言一、软件包管理器 yum1.yum的概念yum的基本指令使用例子 二、git 命令行提交代码总结温馨提示 前言 前面我们讲了C语言的基础知识&#xff0c;也了解了一些数据结构&#xff0c;并且讲了有关C的一些知识&#xff0c;也学习了一些Linux的基本操作&#xff0c;也了…

侯捷 C++ part2 兼谈对象模型笔记——7 reference、const、new/delete

7 reference、const、new/delete 7.1 reference x 是整数&#xff0c;占4字节&#xff1b;p 是指针占4字节&#xff08;32位&#xff09;&#xff1b;r 代表x&#xff0c;那么r也是整数&#xff0c;占4字节 int x 0; int* p &x; // 地址和指针是互通的 int& r x;…

VSCODE[配置ssh免密远程登录]

配置ssh免密远程登录 本文摘录于&#xff1a;https://blog.csdn.net/qq_44571245/article/details/123031276只是做学习备份之用&#xff0c;绝无抄袭之意&#xff0c;有疑惑请联系本人&#xff01; 这里要注意如下几个地方: 1.要进入.ssh目录创建文件: 2.是拷贝带"ssh-…

react 生命周期方法

组件的生命周期 每个组件都包含 “生命周期方法”&#xff0c;你可以重写这些方法&#xff0c;以便于在运行过程中特定的阶段执行这些方法。你可以使用此生命周期图谱作为速查表。在下述列表中&#xff0c;常用的生命周期方法会被加粗。其余生命周期函数的使用则相对罕见。 挂…

深度学习与计算机相结合:直播实时美颜SDK的创新之路

时下&#xff0c;实时美颜技术就成为了直播主们的得力工具&#xff0c;它可以在直播过程中即时处理视频画面。而支持实时美颜功能的SDK更是推动了这项技术的发展&#xff0c;让直播主和普通用户都能轻松使用美颜功能。 一、美颜技术的演进 早期的美颜技术主要依赖于简单的图…

Kafka 什么速度那么快

批量发送消息 Kafka 采用了批量发送消息的方式&#xff0c;通过将多条消息按照分区进行分组&#xff0c;然后每次发送一个消息集合&#xff0c;看似很平常的一个手段&#xff0c;其实它大大提升了 Kafka 的吞吐量。 消息压缩 消息压缩的目的是为了进一步减少网络传输带宽。而…

Android Studio实现解析HTML获取图片URL,将URL存到list,进行瀑布流展示

目录 效果展示build.gradle(app)添加的依赖(用不上的可以不加)AndroidManifest.xml错误代码activity_main.xmlitem_image.xmlMainActivityImage适配器ImageModel 接收图片URL效果展示 build.gradle(app)添加的依赖(用不上的可以不加) dependencies {implementation co…

eqtl-GWAS和GWAS-GWAS

目前教程中有eqtl-GWAS和GWAS-GWAS两种模式&#xff0c;其他模式比较少见&#xff0c;还未进行开发 数据类型cc为分类变量即case/control&#xff0c;quant为连续变量&#xff0c;eqtl数据默认quant coloc.abf有两个比较需要注意的点&#xff0c;就是数据集中N是代表样本量&am…

欧拉OS 使用 CentOS 7 yum repo

一、下载CentOS的repo的yum文件 任何基于CentOS的yum的repo 的url是这样的&#xff1a; 但欧拉OS输出这个变量为&#xff1a;openEuler 20.03 (LTS-SP3) 那明显欧拉想要使用这个yum的url找不到这个版本&#xff0c; 所以直接讲这个变量替换为 7, Centos 7的7 然后执行&…

【二】数据库系统

数据库系统的分层抽象DBMS 数据的三个层次从 数据 到 数据的结构----模式数据库系统的三级模式&#xff08;三级视图&#xff09;数据库系统的两层映像数据库系统的两个独立性数据库系统的标准结构 数据模型从 模式 到 模式的结构----数据模型三大经典数据模型 数据库的演变与发…