【Git多人协作开发】知识点总结

news2024/9/23 5:24:16

目录

知识点总结

1.创建dev分支开发

1.1在本地创建

1.1在远程创建(推荐)

2.远程分支和本地分支建立连接☞pull和push操作

2.1情况1

2.2情况2

2.3情况3

3.本地仓库对远程仓库的拉取pull操作

3.1情况1

3.2情况2

4.将开发分支的内容合并到远程master分支上

5.查看分支情况

6.解决git branch -a打印已被删除的远程分支的方法


知识点总结

  • 本地是本地的分支,远程是远程的分支(拉取后也是)需要建立联系。
  • 不能在本地切换到远程分支进行操作的,只能创建本地分支,建立联系(或者不需要)。切换到本地分支进行操作再push推送至远程分支。
  • 如果是多人协作开发很可能导致就是master主分支的内容不是最新的所以,在本地基于master创建的时候,请必须pull拉取一下最新的master分支。包括如果你要拉取别人的分支帮忙修改,必须是拉取最新的版本。

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

  • 首先,可以试图⽤ git push origin branch-name 推送⾃⼰的修改;

  • 如果推送失败,则因为远程分⽀⽐你的本地更新,需要先⽤ git pull 试图合并;

  • 如果合并有冲突,则解决冲突,并在本地提交;

  • 没有冲突或者解决掉冲突后,再⽤git push origin branch-name推送就能成功!

  • 功能开发完毕,将分⽀ merge 进 master,最后删除分⽀。


不同的分支下的多人协作开发模式

  • 每个开发者都私有一个分支去开发各自的功能。(同一文件/不同文件)
  • 开发完成之后(三板斧)push,基本不会出现冲突。
  • 会出现小插曲(同事生病等)。
  • 完成之后需要将开发分支部分合并到master。三个方案☞建议选择:远程和本地混合。

1.创建dev分支开发

1.1在本地创建

  • 无论是本地创建还是远程创建,都需要基于master的最新一次提交的版本。
  • 在本地创建的feature的时候必须确保基于本地master分支创建的feature-1分支中的master分支相较于远程分支master分支是最新一次提交记录的版本。
  • 先在远程仓库pull拉取master最新版本☞再创建本地分支☞推送push☞远程仓库
  • 本地创建分支,基于本地master创建,不能保证本地master分支是最新的代码不一定是最新的版本,所以需要提前pull拉取远程仓库的最新master分支。

  • git checkout master(先切换至master分支)
  • git pull 
  • git checkout -b feature-1:本地创建本地feature-1分支
  • git push origin feature-1:推本地分支feature-1到远程仓库

1.1在远程创建(推荐)

  • 无论是本地创建还是远程创建,都需要基于master的最新一次提交的版本。
  • 创建的dev分支就是基于master最新一次提交版本来创建的。
  • 在远程仓库创建完成之后再☞拉取pull☞本地仓库
  • 推荐:因为远程仓库创建分支(基于master创建)master就是最新最全最稳定的代码. 

2.远程分支和本地分支建立连接☞pull和push操作

  • 无论是pull操作或者push操作,都是针对分支的操作。、
  • 必须让两个相互 拉/推 操作的分支建立连接。有了连接才能够push/pull
  • master分支<---------------->master分支
  • 使用git push/pull origin master指定了远程仓库的目标分支时(不需要建立连接)
  • 使用git push/pull 没有指定/简写的时候,则我们需要建立连接(git才知道是从哪个本地仓库的分支,到哪个远程仓库的分支)连接在命令简写的时候才需要建立
  • 在本地克隆远程仓库的时候,形成本地仓库的时候。master和master分支就会自动建立连接。建立连接是为了pull/push写短命令。

2.1情况1

情景:远程仓库有dev分支,本地仓库没有dev分支

命令:git checkout -b dev origin/dev

在本地创建dev分支的同时切换到dev分支上,并且和远程仓库的dev分支建立连接

2.2情况2

情景:远程仓库有dev分支,本地仓库有dev分支

命令:git branch --set-upsteam-to=origin/dev(远程) dev(本地)

直接建立连接

2.3情况3

情景:远程仓库没有dev分支,本地有dev分支

命令:git push origin dev

在创建远程仓库的分支同时,与本地仓库建立连接

3.本地仓库对远程仓库的拉取pull操作

3.1情况1

 拉取分支里面的内容(某个文件必须分支和分支建立连接才可)

3.2情况2

 拉取仓库的内容(包括拉取分支本身和分支下的内容)是不需要建立连接的

4.将开发分支的内容合并到远程master分支上

【1】 全在远程操作(无冲突)开发分支feature直接和主分支master最新一次提交版本merge合并。(没有合并冲突)

【2】开发分支feature直接和主分支master最新一次提交版本merge合并存存冲突。

【2.1】本地和远程结合(存在冲突)

  1. 本地服务器操作:在本地仓库切换至feature-1 mereg合并 本地master分支,存在冲突,手动解决冲突,三板斧提交并且推送push。
  2. 远程服务器操作:在远程仓库master主分支 merge合并feature-1分支  

【2.2】全在本地操作(存在冲突)

  1. 在本地仓库切换至feature-1 mereg合并 本地master分支,存在冲突,手动解决冲突,三板斧提交
  2. 切换至本地master分支合并
  3. 最后push推送至远程仓库

具体操作前面博文详细演示过了☞☞

5.查看分支情况

  • 明确本地分支/远程分支

  • 查看本地分支:git branch

  • 查看远程分支:git branch -r

  • 既查看本地分支又查看远程分支:git branch -a

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

6.解决git branch -a打印已被删除的远程分支的方法

  • 前面我们知道,当我们在远程仓库删除无用分支之后,使用git branch -a仍然能够看到删除的无用分支。
  • git remove show origin:帮助我们展示远程仓库分支的一些情况

  • git remove prune :帮助我们移除本地陈旧的分支(远程仓库已经删除的分支)

  • git branch -d:删除的分支名称

 

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

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

相关文章

充电桩浪涌保护方案—保障充电设施安全稳定运行的关键

在当今新能源汽车蓬勃发展的时代&#xff0c;充电桩作为电动汽车的“加油站”&#xff0c;其重要性不言而喻。然而&#xff0c;由于其复杂的电气环境和暴露于户外的特点&#xff0c;充电桩容易受到浪涌的影响。浪涌可能来自雷电、电网故障、大功率设备的启停等&#xff0c;对充…

在 Windows 上安装 PostgreSQL

官网下载地址&#xff1a; https://www.enterprisedb.com/downloads/postgres-postgresql-downloadsWindows平台 官网直接提供exe安装包&#xff0c;没有手动安装的压缩包 postgresql-14.4-1-windows-x64.exe几个重要的安装选项 安装界面会指定服务程序和库两个路径&#xf…

5G赋能车联网,无人驾驶引领未来出行

无人驾驶车联网应用已成为智能交通领域的重要发展趋势。随着无人驾驶技术的不断进步和5G网络的广泛部署&#xff0c;5G工业路由器在无人驾驶车联网中的应用日益广泛&#xff0c;为无人驾驶车辆提供了稳定、高效、低时延的通信保障。 5G工业路由器的优势 低时延&#xff1a;5G网…

【STM32 HAL库】ADC

ADC&#xff0c;顾名思义就是模拟信号->数字信号ADC工作原理 分类&#xff1a; 并联比较型-----转换速度快-----成本高、功耗高、分辨率低 分压部分比较部分编码部分&#xff08;其中Vx为模拟电压输入 &#xff09; 逐次逼近型-----结构简单&#xff0c;功耗低-----转换速…

electron 网页TodoList应用打包win桌面软件数据持久化

参考&#xff1a; electron 网页TodoList工具打包成win桌面应用exe https://blog.csdn.net/weixin_42357472/article/details/140648621 electron直接打包exe应用&#xff0c;打开网页上面添加的task在重启后为空&#xff0c;历史没有被保存&#xff0c;需要持久化工具保存之前…

汽车免拆诊断案例 | 2018 款别克阅朗车蓄电池偶尔亏电

故障现象 一辆2018款别克阅朗车&#xff0c;搭载LI6发动机和GF6变速器&#xff0c;累计行驶里程约为9.6万km。车主反映&#xff0c;该车停放一晚后&#xff0c;蓄电池偶尔亏电。 故障诊断 接车后用虹科Pico汽车示波器和高精度电流钳&#xff08;30 A&#xff09;测量该车的寄…

ElementUI,修改el-table中的数据,视图无法及时更新

需求&#xff1a;点击table表格中的“修改”之后&#xff0c;当前行变为可输入状态的行&#xff0c;点击“确定”后变为普通表格&#xff1b; 先贴上已经完美解决问题的代码 实现代码&#xff1a; <section><div style"display: flex;justify-content: space-b…

数据中心服务器搬迁团队

数据中心机房服务器搬迁&#xff0c;需要专业的数据中心机房服务器提供技术保障服务。友力科技&#xff08;广州&#xff09;有限公司&#xff0c;作为华南地区主流的数据中心服务商&#xff0c;专业从事数据中心机房搬迁服务。 数据中心机房搬迁涉及设备数量多、系统复杂&…

基于联盟链Fabric 2.X 的中药饮片代煎配送服务与监管平台

业务背景 近年来&#xff0c;随着公众对中医药青睐有加&#xff0c;中药代煎服务作为中医药现代化的重要一环&#xff0c;在全国各地蓬勃兴起。鉴于传统煎煮方式的繁琐耗时&#xff0c;医疗机构纷纷转向与第三方中药饮片企业合作&#xff0c;采用集中代煎模式。这些第三方煎药中…

goenv丝滑控制多版本go

安装 先装下goenv brew install goenv去 ~/.bash_profile 添加一下 export GOENV_ROOT"$HOME/.goenv" export PATH"$GOENV_ROOT/bin:$PATH" eval "$(goenv init -)"执行一下让配置生效 source ~/.bash_profile插一嘴&#xff0c;如果之前是在…

【BUG】已解决:No Python at ‘C:Users…Python Python39python. exe’

No Python at ‘C:Users…Python Python39python. exe’ 目录 No Python at ‘C:Users…Python Python39python. exe’ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班…

独立游戏《星尘异变》UE5 C++程序开发日志8——实现敏感词过滤功能(AC自动机)

在游戏中经常会有需要玩家输入一些内容的功能&#xff0c;例如聊天&#xff0c;命名等&#xff0c;这款游戏只有在存档时辉用到命名功能&#xff0c;所以这个过滤也只是一个实验性的功能&#xff0c;我们将使用AC自动机来实现&#xff0c;这是在我们把“csdn”这个词设置为屏蔽…

nginx代理缓存配置-Linux(CentOS)

代理缓存 1. 编写主配置文件2. 编辑虚拟机配置文件3. 重启nginx服务 nginx代理服务配置&#xff0c;基于http协议 开启代理缓存的前提是已经开启了代理服务&#xff0c;请确保已经开启代理服务 1. 编写主配置文件 主配置文件通常在/etc/nginx/nginx.conf&#xff0c;在该文件…

【Vue3】watch 监视 ref 定义的数据

【Vue3】watch 监视 ref 定义的数据 背景简介开发环境开发步骤及源码参数说明 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努…

江科大/江协科技 STM32学习笔记P6

文章目录 LED闪烁&LE流水&蜂鸣器一、操作STM32的GPIO步骤二、RCC库函数什么是AHB与APB&#xff1f; 三、GPIO库函数GPIO初始化选择IO接口工作方式 四、四种方法实现LED闪灯 LED闪烁&LE流水&蜂鸣器 一、操作STM32的GPIO步骤 1、使用RCC开启GPIO的时钟 2、使用…

【C语言报错已解决】Use of Uninitialized Variable

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言&#xff1a; 在编程中&#xff0c;未初始化的变量是一个常见的问题&#xff0c;它可能导致程序的行为变得不可预测。未初…

CAD图块的对齐方法的使用技巧

对齐功能配合鼠标技巧才能正常使用&#xff0c;不然对齐的图形胡乱翻转。

Cxx Primer-chap7

类的基本思想是数据抽象和封装&#xff0c;前者强调interface和implement分离&#xff0c;后者在此基础上&#xff0c;强调访问控制符&#xff08;存疑&#xff09;。同时类的实现者和使用者考虑的角度不同&#xff0c;前者考虑实现效率&#xff0c;后者仅需关注功能即可&#…

PSINS工具箱函数介绍——insplot

insplot是一个绘图命令,用于将avp数据绘制出来 本文所述的代码需要基于PSINS工具箱,工具箱的讲解: PSINS初学指导基于PSINS的相关程序设计(付费专题)使用方法 此函数使用起来也很简单,直接后面加avp即可,如: insplot(avp);其中,avp为: 每行表示一个时间1~3列为姿态…

基于VUE的软件项目开发管理系统/项目管理系统/软件开发过程管理系统的设计与实现

摘 要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括软件项目开发管理系统的网络应用&#xff0c;在外国软件项目开发管理系统已经是很普遍的方式&#xff0c;不过国内的软件项目开发管理可能还处于起步阶段。软件项目开发…