GIT分支管理与远程操作

文章目录

        • 10.分支操作-分支介绍(掌握)
          • 目标
          • 内容
          • 小结
        • 11.分支操作-分支创建与切换
          • 目标
          • 内容
          • 小结
        • 12.分支操作-分支合并与删除
          • 目标
          • 内容
          • 小结
        • 13.GIT远程仓库介绍与码云仓库注册创建
          • 目标
          • 内容
          • 小结
        • 14.GIT远程仓库操作-关联、拉取、推送、克隆(不用刻意记住命令)
          • 目标
          • 内容
          • 小结


在这里插入图片描述

10.分支操作-分支介绍(掌握)
目标

​ 能说分支作用

内容

我们现在使用Git可以简单理解为阶段性的使用Git保存一下自己写的代码,每次提交形成一个版本信息。但是你能想象出当一个团队所有人提交的版本信息汇集到一起后是什么样子吗?那版本的数量是数以千计的。尽管Git提供了一系列的操作帮助我们完成版本的操作,但是最终架不住版本太多看着乱啊。

比如说张三是一个成熟的开发者,他做完一个模块提交一个版本,李四是一个入行一年的开发者,他做完一个功能提交一个版本,这都是可以接受的,你要碰到王五这种刚刚入行的,他恨不得一个文件提交一个版本,甚至写一个方法就提交一个版本,那Git中管理的版本真的就要数以万计了。

其实理想的情况应该是这样的,张三开发功能A,在A没有完全制作完成之前不要提交版本,等做完了再一次性提交所有的文件。这样每一个版本都是具有非常高的价值的,不会出现大量无效的提交。什么叫无效提交?你一个模块8个类配合在一起工作,你写完一个类提交一个版本,回头不管是回滚也好,对版本进行管理也好,单独一个类自己不能构成一个完整的开发状态,你回滚到这个版本你发现不能用,再换一个还是缺文件,这就让人很崩溃了。

但是作为开发者来说,我打版本也是为了自己用的方便,我写点备份一点,看上去也很合理。这个时候就提出了一个新的需求,能不能我自己提交自己专用的版本,而不要和项目组的核心代码掺和在一起呢?这个功能必须有,这就是下面要说的分支。

那么在说分支前,我们说一下之前的提交到底是什么?

提交的本质:记录仓库中一组文件的变化信息(增、删、改)

分支是什么?

分支就是多次提交串起来的一条线

在这里插入图片描述

场景:问题背景:要开发一个新功能,又不想打扰目前分支(main)的功能开发,于是

在这里插入图片描述

可以看到 main 分支的开发并不会停止,可以继续进行 c4 这个功能的开发,而 new 分支可以开发新功能 c5,同样不会影响 main

等 new 分支的功能开发测试没有问题了,main 也想要 new 的代码怎么办?

在这里插入图片描述

可以使用 merge 命令将 new 分支的变动合并至 main 分支,此时的 c6 中既包含了 c4 以来的修改,也包括了 c5 的修改,这时如果觉得 c5 已经没用了,可以将它删除

我们分支讲解主要包含

  • 创建分支
  • 切换分支
  • 合并分支
  • 查看分支
  • 删除分支
小结
  • 根据自己的理解说一下分支是什么,它有什么作用
    • 分支就是多次提交组成的一条线
    • 作用:可以让我们在团队开发时更加方便

11.分支操作-分支创建与切换
目标

​ 掌握分支创建与切换

内容

在这里插入图片描述

  • 创建分支

    分支创建示意图:

    在这里插入图片描述

    命令: git branch 分支名   创建dev分支 git branch dev
    注意:分支名字随便书写,名字最好达到见名知意,张三---》zhangsan
    

    在这里插入图片描述

  • 分支切换

    命令: git checkout dev   切换dev分支
    

    在这里插入图片描述

    编辑readme.txt,添加“我是dev提交的代码”

    在这里插入图片描述

    从工作区提交到缓存区执行:git add readme.txt
    执行:从缓存区提交到本地区:git commit -m ‘dev分支提交’

    在这里插入图片描述

    查看文件内容

    在这里插入图片描述

    切换到master分支,并查看文件内容

    在这里插入图片描述

    注意:如果没有将dev分支合并到主分支上,那么在主分支即master上面是无法查看到dev分支提交的内容

小结
  • 如何创建分支

    git branch 分支名称

  • 如何切换分支

    git checkout 分支名称

  • 查看分支

    git branch


12.分支操作-分支合并与删除
目标

​ 掌握分支合并与删除

内容

上一个示例中,我们已经创建了dev分支,并在分支上添加了内容,如果想要将dev分支内容合并到master上如何操作

  • 分支合并

    命令: git merge 分支名   合并dev分支 git merge dev
    

    在这里插入图片描述

    注意:当前我们是在master分支

    合并后,我们发现master分支上的readme.txt文件内容已经改变

  • 分支删除

    合并完分支之后,如果不再使用dev分支,则可以删除此分支,先查看当前分支:

    命令 git branch 查看分支情况
    

    在这里插入图片描述

    当前有两个分支dev与master,我们当前是在master分支上,如何删除dev分支

    命令 git branch -d 分支名 
    

    在这里插入图片描述

    我们使用git branch查看,发现dev分支已经被删除

小结
  • 创建分支

​ git branch 分支名

  • 如何合并分支 (项目经理或者组长)

    git merge 分支名

  • 如何查看分支

    git branch

  • 如何删除分支

    git branch -d 分支名


13.GIT远程仓库介绍与码云仓库注册创建
目标

​ 能说出常用的GIT远程仓库,并完成码云仓库的注册创建

内容

本地仓库实际上是存储在个人电脑中的,用于存储个人提交记录与提交日志,说简单点,你现在commit提交的内容都在本地

远程仓库是公网或外网中的一个仓库,主要用于存储个人或团队的提交记录与提交日志,团队合作开发也是靠远程仓库实现的。大家都把东西提交到同一个远程仓库里面就OK了,这样每个人都可以获取到团队内开发的所有内容了。目前市面上常用的git支持的远程仓库有如下三个

常用的远程仓库

  • GitHub(https://github.com)
  • gitee(https://gitee.com)
  • gitlab(https://about.gitlab.com)

在这里插入图片描述

GitHub是一个面向开源及私有软件项目的托管平台,说白了就是给开发者提供了一个远程仓库。当然人家提供的功能还是很强大的,2018年微软以75亿美金收购了GitHub。现在的GitHub除了承载了代码托管平台的功能,更大的功能是组建了一个同性交流平台,大量的码农在上面做技术及非技术的交流,活跃用户还是很多的,可惜这个主站在国外,速度一般。

gitee和GitHub是一样的东西,是开源中国(OSChina)推出的基于Git的代码托管平台,又叫码云。有什么特点呢?有,还很硬的特点,主站在中国,是否秒懂?速度快啊,中国码农的数量那不是一般的多。

GitHub和gitee都是开源的代码托管平台,这里就有一个BUG了,如果我现在做的项目涉密性很强怎么办?放公网上?不现实啊,你再提供高等级的安全服务我也不敢放啊,自己搭一个把,gitlab就有了。gitlab基于git作为版本控制工具的基础上,可以为你搭建一个Web服务器,你就可以理解为自己搭建了一个局域网内能够访问的服务器。啥用?私服啊,代码安全啊,别人访问不到啊,就这个用。

那我们如果玩远程仓库玩哪个?百分之百玩gitee和gitlab啊,速度快,又免费,多好。gitlab还安全。

  • 注册登录

    访问地址:https://gitee.com/

    请自主完成注册与登录

  • 创建仓库

填写项目相关的信息

仓库创建完毕,可以看到,如果我们要与远程仓库同步,这里支持多种通信协议,当我们选中一种协议后,后面会出现对应的远程仓库地址

小结
  • git常用的远程仓库有哪些

    github gitee gitlab


14.GIT远程仓库操作-关联、拉取、推送、克隆(不用刻意记住命令)
目标

​ 完成远程仓库的关联、拉取、推送、克隆操作

内容

在这里插入图片描述

  • 关联

    现在readme.txt已经推送到我们自己的本地仓库,在推送到码云仓库前,我们需要先建立本地仓库与远程仓库的关系

    命令:git remote add origin 远程仓库地址  关联远程仓库
    

    在这里插入图片描述

    在这里插入图片描述

  • 拉取:从码云仓库拉取到本地仓库

    【注意】在推送代码前必须先拉取代码,否则无法推送本地仓库代码到码云仓库

    在这里插入图片描述

    命令:git pull origin master --allow-unrelated-histories
    首次拉取需要添加:--allow-unrelated-histories
    命令:git pull 后续拉取
    

    在这里插入图片描述

  • 推送:本地仓库推送到码云仓库

    在这里插入图片描述

    命令: git push -u origin master 首次推送
    命令: git push 后续推送
    

    在这里插入图片描述

    填写账号和密码.

    码云仓库有推送的信息

    在这里插入图片描述


  • 克隆

    如果我们新加入一个团队,这个时候就需要我们把代码从远程仓库克隆过来,那么咱们操作呢?

    新建文件夹learn-Git-B,新建的文件中右键

    点击 Git bash Here

    命令: git clone 远程仓库
    

    这时候就拉取出远程仓库的内容

小结

1.常见命令

关联远程仓库命令:git remote add origin 远程仓库地址
	举例:git remote add origin https://gitee.com/tiansuo123456/itheim-heima141.git


拉取命令:git pull origin master --allow-unrelated-histories 从码云服务器拉取到本地
首次拉取需要添加:--allow-unrelated-histories
命令:git pull 后续拉取

推送命令: git push -u origin master 首次推送   从本地推送到码云
命令: git push 后续推送

克隆命令: git clone 远程仓库  从码云服务器拉取到本地
	举例:
		git clone https://gitee.com/tiansuo123456/itheim-heima141.git

2.git clone(克隆) 与 git pull(拉取) 区别

#1.相同点:都是从远程服务器拉取代码到本地
#2.不同点:
	git clone(克隆) :是在本地没有版本库的时候,从远程服务器克隆整个版本库到本地,是一个本地从无到有的过程。
	git pull(拉取)  :在本地有版本库的情况下,从远程库获取最新commit 数据(如果有的话),并merge(合并)到本地。


在这里插入图片描述



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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(一)

Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(前导) 四、AXI转FIFO接口模块设计 1.AXI接口知识 AXI协议是基于 burst的传输,并且定义了以下 5 个独立的传输通道: 读地址通道(Read Address Channel, …

python统计分析——广义线性模型的评估

参考资料:用python动手学统计学 残差是表现数据与模型不契合的程度的重要指标。 1、导入库 # 导入库 # 用于数值计算的库 import numpy as np import pandas as pd import scipy as sp from scipy import stats # 导入绘图的库 import matplotlib.pyplot as plt i…

加密与安全_探索非对称加密算法_RSA算法

文章目录 Pre主流的非对称加密算法典型算法:RSACodeRSA的公钥和私钥的恢复小结 Pre 加密与安全_探索密钥交换算法(Diffie-Hellman算法) 中我们可以看到,公钥-私钥组成的密钥对是非常有用的加密方式,因为公钥是可以公开…

【Vue】npm run build 打包报错:请在[.env.local]中填入key后方可使用...

报错如下 根目录添加 .env.local 文件 .env.local :本地运行下的配置文件 配置:VUE_GITHUB_USER_NAME 及 VUE_APP_SECRET_KEY 原因

通过GitHub探索Python爬虫技术

1.检索爬取内容案例。 2.找到最近更新的。(最新一般都可以直接运行) 3.选择适合自己的项目,目前测试下面画红圈的是可行的。 4.方便大家查看就把代码粘贴出来了。 #图中画圈一代码 import requests import os import rewhile True:music_id input("请输入歌曲…

文本多分类

还在用BERT做文本分类?分享一套基于预训练模型ERNIR3.0的文本多分类全流程实例【文本分类】_ernir 文本分类-CSDN博客 /usr/bin/python3 -m pip install --upgrade pip python3-c"import platform;print(platform.architecture()[0]);print(platform.machine…

Mysql主从备份

主从复制概述 将主服务器的binlog日志复制到从服务器上执行一遍,达到主从数据的一致状态,称之为主从复制。一句话表示就是,主数据库做什么,从数据库就跟着做什么。 为什么要使用主从复制 为实现服务器负载均衡/读写分离做铺垫&…

Chrome插件 | WEB 网页数据采集和爬虫程序

无边无形的互联网遍地是数据,品类丰富、格式繁多,包罗万象。数据采集,或说抓取,就是把分散各处的内容,通过各种方式汇聚一堂,是个有讲究要思考的体力活。君子爱数,取之有道,得注意遵…

Tomcat 架构

一、Http工作原理 HTTP协议是浏览器与服务器之间的数据传送协议。作为应用层协议,HTTP是基于TCP/IP协议来传递数据的(HTML文件、图片、查询结果等),HTTP协议不涉及数据包(Packet)传输,主要规定了…

Ai-WB2-32S在window下使用vs 和 msys2编译以及烧录

文章目录 前言一、使用前准备第一步 安装vscode第二步 安装msys2 二、使用步骤1.打开MSYS2 MINGW64(1)在开始栏中找到MSYS2 MINGW64并打开(2)安装git(3)安装make(4)安装好之后的文件…

端游如何防破解

在2023年这个游戏大年中,诸多热门大作涌现,作为世界级IP哈利哈利波特的衍生游戏——《霍格沃茨之遗》毫无悬念地成为2023年游戏圈的首款爆款作品,斩获了一众玩家的青睐。 在众多光环的加持下,《霍格沃茨之遗》很快被著名游戏破解…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《激发多元灵活性的数据中心协同优化运行方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 这篇文章标题表明,其主题…

网络防御第6次作业

防病毒网关 按照传播方式分类 病毒 病毒是一种基于硬件和操作系统的程序,具有感染和破坏能力,这与病毒程序的结构有关。病毒攻击的宿主程序是病毒的栖身地,它是病毒传播的目的地,又是下一次感染的出发点。计算机病毒感染的一般过…

持安科技亮相张江高科895创业营,总评分第三名荣获「最具创新性企业」!

近日,张江高科895创业营(第十三季)信息安全专场Demo day&结营仪式在上海集成电路设计产业园圆满落幕。本季创业营通过多种渠道在海内外甄选优秀创业项目,一共择优录取了29家入营,最终甄选出9家代表参加Demo day路演…

安装ProxySQL,教程及安装链接(网盘自提)

一、网盘下载,本地直传 我网盘分享的是proxysql-2.5.5-1-centos8.x86_64.rpm,yum或者dnf直接安装就行 提取码:rhelhttps://pan.baidu.com/s/1nmx8-h8JEhrxQE3jsB7YQw 官方安装地址 官网下载地址https://repo.proxysql.com/ProxySQL/ 二、…

c# cad2016系统变量解释说明

一、cad系统变量设置和获取 /// <summary> /// 设置CAD系统变量 /// </summary> /// <param name"name">变量名</param> /// <param name"value">变量值</param> public static void SetSystemVariable(string name,…

[pdf]《软件方法》2024版部分公开-共196页

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 潘加宇《软件方法》2024版部分公开pdf文件&#xff0c;共196页&#xff0c;已上传CSDN资源。 也可到以下地址下载&#xff1a; http://www.umlchina.com/url/softmeth2024.html 如果…

DDOS攻击处理方法

DDoS&#xff08;分布式拒绝服务&#xff09;攻击是一种网络攻击&#xff0c;攻击者通过发送大量的请求&#xff0c;超过目标服务器的处理能力&#xff0c;导致服务器服务不可用。本文将介绍如何处理DDoS攻击&#xff0c;并提供几种防范措施。 1. 认识DDoS攻击 DDoS攻击通常通过…

JAVA对象内存模型

Java对象内存模型 > 一个Java对象在内存中包括3个部分&#xff1a;对象头、实例数据和对齐填充 > > 数据 内存 – CPU 寄存器 -127 补码 10000001 - 11111111 32位的处理器 一次能够去处理32个二进制位 4字节的数据 64位操作系统 8字节 2的64次方的寻址空间 指针压…

mac 本地使用dockerfile启动 springboot项目

1.创建Dockerfile放在项目的根目录下 2.编写Dockerfile FROM openjdk:11 MAINTAINER ChengLinADD target/JiaLi-0.0.1-SNAPSHOT.jar /app.jar# 暴露 Spring Boot 应用的端口号 EXPOSE 8088 # 启动 Spring Boot 应用 CMD ["java", "-jar", "app.jar&q…