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

目录

知识点总结

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.mzph.cn/bicheng/49968.shtml

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

相关文章

【Week-G5】适用于图像翻译的pix2pix模型-Pytorch版本

文章目录 1、基础知识1.1 图像翻译1.2 CGAN1.3 U-Net1.4 Pix2Pix 2、运行代码 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 本次主要学习Pix2Pix网络&#xff0c;常用于图像翻译&#…

CVE-2020-7248 OpenWRT libubox标记二进制数据序列化漏洞(更新中)

提要 该文档会一直处于更新当中&#xff0c;当状态为完毕后&#xff0c;才是更新完成。由于网络上关于该漏洞原理的分析文档和资源实在是太少&#xff0c;而本人关于该方向也才是刚入门&#xff0c;能力有限&#xff0c;所以复现需要的时间较长&#xff0c;需要补充和学习的东西…

用Manim实现【多边形】类的实现——[上]

用Manim实现【多边形】类的实现——[上] Polygram内容是关于不同几何图形的分类&#xff0c;特别是涉及多边形&#xff08;Polygon&#xff09;及其扩展形式&#xff0c;比如多图形&#xff08;Polygram&#xff09;。在manim中有10中特征&#xff0c;接下来5种类及其特征的解…

搜维尔科技:Cyber​​glove通过其前所未有的柔性传感器技术,带来了多年的经验、专业知识和可靠性

Cyberglove 概述 新一代数据手套技术 MoCap 手套采用了原始 CyberGlove 产品 20 年经验所建立的技术&#xff0c;产生了改进的和新的特性、能力和设计&#xff0c;非常适合动作捕捉环境。 旧与新相遇&#xff0c; Cyberglove 通过其前所未有的柔性传感器技术&#xff0c;带来…

linux自动化构建工具--make/makefile

目录 1.make/makefile介绍 1.1基本认识 1.2依赖关系、依赖方法 1.3具体操作步骤 1.4进一步理解 1.5默认设置 1.6make二次使用的解释 1.7两个文件的时间问题 1.8总是被执行 1.9特殊符号介绍 1.make/makefile介绍 1.1基本认识 make是一个指令&#xff0c;makefile是一…

mysql面试(六)

前言 本章节详细讲解了一下mysql执行计划相关的属性释义&#xff0c;以及不同sql所出现的不同效果 执行计划 一条查询语句经过mysql查询优化器的各种基于成本和各种规则优化之后&#xff0c;会生成一个所谓的 执行计划&#xff0c;这个执行计划展示了这条查询语句具体查询方…

django 小型超市库存与销售管理系统-计算机毕业设计源码46608

摘 要 随着信息技术的快速发展&#xff0c;超市库存与销售管理面临着前所未有的挑战与机遇。为了提升超市的运营效率&#xff0c;优化库存管理&#xff0c;并增强销售数据的分析能力&#xff0c;我们基于Django框架设计并开发了一套小型超市库存与销售管理系统。该系统充分利用…

运算符的运算顺序

【单目算术位关系&#xff0c;逻辑三目后赋值】 ![在这里插入图片描述] (https://i-blog.csdnimg.cn/direct/e4c8f4e22b5044a48154bf7378e3b3b3.png)

php 做一个mqtt按钮,发布触发信号

在之前博客php 做一个文件下载服务器&#xff0c;得避免跨路径工具&#xff0c;安全很重要 中加了一个按钮&#xff0c;触发物联网设备返回数据。基于mqtt开发&#xff0c;如果想知道mqtt如何搭建&#xff0c;可以看我的博客【MQTT&#xff08;1&#xff09;】服务端的搭建 效…

机器学习 | 回归算法原理——多重回归

Hi&#xff0c;大家好&#xff0c;我是半亩花海。接着上次的多项式回归继续更新《白话机器学习的数学》这本书的学习笔记&#xff0c;在此分享多重回归这一回归算法原理。本章的回归算法原理基于《基于广告费预测点击量》项目&#xff0c;欢迎大家交流学习&#xff01; 目录 一…

Air780EP模块 LuatOS开发-MQTT接入阿里云应用指南

简介 本文简单讲述了利用LuatOS-Air进行二次开发&#xff0c;采用一型一密、一机一密两种方式认证方式连接阿里云。整体结构如图 关联文档和使用工具&#xff1a;LuatOS库阿里云平台 准备工作 Air780EP_全IO开发板一套&#xff0c;包括天线SIM卡&#xff0c;USB线 PC电脑&…

产品经理-​统计数据是如何产生的(20)

在互联网当中,监测一个项目的实际情况,在产品当中,往往需要进行数据的监测,看用户的习惯,进而进行对产品进行优化,比如统计产品用户的一些行为,鼠标点击,鼠标hover,停留时长,进入,进出等 产品经理看到的数据统计一般是经历了下面几个阶段 数据埋点&#xff1a;这个阶段产品经理…

RK3568笔记四十三:MPU6050驱动开发(硬件I2C_3)

若该文为原创文章&#xff0c;转载请注明原文出处。 正点原子提供的I2C有测试ap3216c&#xff0c;SH3001等传感器&#xff0c;根据手册操作可以实现效果。 这里记录使用I2C3驱动MPU6050. 记录原因是前面有模拟I2C&#xff0c;但硬件如何使用&#xff0c;有点不是很清楚&#…

猫头虎分享:GPT-4o Mini VS GPT-3.5 Turbo 新旧对决,谁能拔得头筹?

GPT-4o Mini VS GPT-3.5 Turbo &#x1f31f; 新旧对决&#xff0c;谁能拔得头筹&#xff1f; 我们正在进入廉价语言模型的新时代 &#x1f680; 阅读时间&#xff1a;6分钟 摘要&#xff1a; 尽管 GPT-4o 功能强大&#xff0c;但我并不经常使用它。如果我正在寻找一个用于复…

【Hec-Ras】案例1:韩国Seung-gi stream稳定流/非稳定流模拟

Hec-Ras案例1&#xff1a;韩国Seung-gi stream 研究区域&#xff1a;Seung-gi stream&#xff08;韩国&#xff09;研究数据降水数据&#xff08;Rainfall data&#xff09; 步骤1&#xff1a;创建工程文件/打开已有工程文件步骤2&#xff1a;参数调整步骤2.1&#xff1a;数据导…

mysql 数据库空间统计sql

mysql 数据库空间统计 文章目录 mysql 数据库空间统计说明一、数据库存储代码二、查询某个数据库的所有表的 代码总结 说明 INFORMATION_SCHEMA Table Reference 表参考 information_schema是‌MySQL中的一个特殊数据库&#xff0c;它存储了关于所有其他数据库的元数据信息。…

D4.前缀和、差分

前缀和 一维前缀和&#xff08;区间&#xff09; 这样的好处是&#xff0c;可以以O(1)的时间复杂度来计算。而不是遍历O(n)。当读入数据非常大&#xff08;>1000000&#xff09;的时候&#xff0c;建议使用scanf()来读取数据&#xff0c;会比cin >> 快很多。在全局开…

享元模式(结构型)

目录 一、前言 二、享元模式 三、总结 一、前言 享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;用于减少大量细粒度对象的内存占用。它通过共享尽可能多的相同数据来节约内存空间。 享元模式由以下角色组成&#xff1a; Flyweight&…

「JavaEE」Spring MVC:基本操作1

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;JavaEE &#x1f387;欢迎点赞收藏加关注哦&#xff01; 简介 Spring Web MVC 是⼀个 Web 框架&#xff0c;简称为 Spring MVC MVC 是 Model View Controller 的缩写&#xff0c;它是软件工程…

vscode回退不显示了,不方便操作

一、后退前进按钮 顶部显示&#xff0c;方便调试 <—— ——> 文件-> 首选项 -> 设置->commandcenter->勾选 Window: Title Bar Style->custom 将native —>custom