[002-1].第1节:Git介绍


在这里插入图片描述

1.1.Git概要:

a.分布式与集中式版本管理的比较:

b.Git简介(Git官网)

  • 1.Git 是一个免费的、开源的分布式版本控制系统
  • 2.分布式的版本控制系统出现之后,解决了集中式(SVN)版本控制系统的缺陷:
  • 3.服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
  • 4.每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全
  • 5.Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库存储在本地磁盘中),方便的暂存区域和多个工作流分支等特性

c.Git发展历史

在这里插入图片描述

d.Git的安装与工作机制

  • 工作区:本地磁盘存放代码的地方
  • 暂存区:临时存储代码,工作区的代码提交到暂存区,对代码进行临时存储
  • 本地库:暂存区的代码提交后,提交到本地库,可以存放代码的历史版本
  • 远程库:把本地库的代码推送到远程库
    在这里插入图片描述

e.Git 和代码托管中心

  • 代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。
  • 局域网 :GitLab
  • 互联网 :GitHub(外网);Gitee 码云(国内网站)

1.2.Git 安装

a.安装流程

  • 1.官网地址 查看 GNU 协议,可以直接点击下一步:
    在这里插入图片描述
    在这里插入图片描述
  • 2.Git配置选项如下:
    在这里插入图片描述
  • 3.选择后台客户端连接协议,选默认值 OpenSSL,然后下一步。
    在这里插入图片描述
  • 4.Git换行符号
    在这里插入图片描述- 5. 选择终端类型
    在这里插入图片描述
  • 6.选择跨平台凭据管理器,避免每次都要登录
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1.3.Git命令

  • 1.操作Git的常用命令
    在这里插入图片描述

a.操作Git第一步:设置全局的用户签名

  • 1.设置用户名:
    • 格式:git config --global user.name 用户名
    • 命令:git config --global user.name root
  • 2.设置邮箱:
    • 格式:git config --global user.email 邮箱
    • 命令:git config --global user.email 1033586391@qq.com
  • 3.签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
  • 4.Git首次安装必须设置一下用户签名,否则无法提交代码。
  • 5.这里设置用户签名和将来登录GitHub(或其他代码托管中心)的账号没有任何关系。只不过是用来区分不同的操作者而已
    在这里插入图片描述
    在这里插入图片描述

b.操作Git第二步:初始化本地库:

  • 1.先本地新建文件夹,名字叫:git-demo
    在这里插入图片描述
  • 2.选择:Git Bash here:
    在这里插入图片描述
  • 3.初始化本地库 : git init ,然后可以用ll -a 这个命令查看隐藏文件
    在这里插入图片描述
  • 4.查看本地库的状态:git status
    在这里插入图片描述

c.操作Git第三步:在本地库新增文件

  • 1.新增文件:
    • vim hello.txt :新增hello.txt文件
    • cat hello.txt :查看hello.txt文件内容
  • 2.再次查看本地库文件状态- git status在这里插入图片描述

d.操作Git第四步:提交本地文件到暂存区

  • 1.将本地的文件提交到暂存区,以便追踪文件
    • git add 文件名 将这个名字的文件提交到暂存区
    • 这里的命令是:git add hello.txt
    • 在Linux中,光标放在 开头,点yy,表示复制该行,然后点p就是复制
  • 2.提交后查看文件状态
    • git status 会发现这个文件的状态名由红色变成了绿色。说明追踪到了这个文件。
    • git rm --cached 文件名字:删除暂存区中的这个文件
    • 如命令: git rm --cached hello.txt 删除hello.txt这个文件,但是在工作区的文件还是存在的,只是在暂存区的这个文件删除了
      在这里插入图片描述

e.操作Git第五步:将暂存区的文件提交到本地库

  • 1.提交本地库的命令:
    • git commit -m "日志信息" 文件名
    • 如命令:git commit -m "第一次提交" hello.txt
      在这里插入图片描述
  • 2.查看文件版本的信息:git reflog
    在这里插入图片描述
  • 3.查看文件版本的详细信息:git log在这里插入图片描述

f.操作Git第六步:版本的切换

  • 1.在版本切换之前,可以使用git reflog都有哪些版本,也可以使用git log来确认到底是谁提交的
  • 2.版本更换,回滚到某个版本:git reset --hard 版本号
    在这里插入图片描述
  • 2.在工作区看当前的版本号:
    在这里插入图片描述
  • 3.版本控制说明
    • 无论这个文件提交了多少个版本,在工作区也只是存在一个文件,而不是以多个文件在工作区中存在;这个是因为git版本控制的底层原理不是以副本形式来控制版本,而是以指针的形式的形式来进行版本控制。
      在这里插入图片描述
  • 当我们再提交后,指针会指向最新的版本

在这里插入图片描述


1.4.Git分支操作:

  • Git操作主要是指的:Git分支 分支特性 分支创建 分支转换 分支合并 代码合并且冲突解决

a.现在的场景:

在这里插入图片描述

b.什么是分支

  • 1.在版本控制过程中,当我们需要同时推进多个任务的时候,为每个任务,我们就可以为每个任务创建的单独分支
  • 2.分支创建后,这样就可以使开发人员可把自己的工作任务从开发主线上分离开来,在自己的分支上进行开发,这样也不会影响主线分支的运行。其实分支底层也是指针的引用
    在这里插入图片描述

c.分支的好处

  • 1.同时并行推进多个功能开发,提高开发效率。
  • 2.各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

d.分支常用操作:

在这里插入图片描述

e.分支上常用的命令

  • 1.查看分支号:git branch -v
    在这里插入图片描述
  • 2.创建分支:git brance 分支名;如命令: git branch hot-fix,创建hot-fix分支;
    在这里插入图片描述
  • 4.切换分支: git checkout 分支名
    在这里插入图片描述
  • 5.实际操作分支切换
    在这里插入图片描述

f.合并分支(无冲突情况):

f1.把指定的分支合并到当主分支上(无冲突情况):
  • 1.先切换到master分支上,然后在master分支上,把hot-fix分支合并过来: git merge 分支名
    在这里插入图片描述
f2.合并分支(有冲突情况):
  • 1.在不同的分支上可能会更改同一个文件,每个人改的都不一样。那么在何合并的时候,就会发生冲突,所以需要手动人为的来进行合并。
    在这里插入图片描述
  • 2.编辑有冲突的文件:vim hello.txt删除特殊符号,决定要使用的内容( 特殊符号代表的意义)
    <<<<<<< HEAD :当前分支的代码
    ======= : 合并过来的代码
    这个(>)代表:>>>>>>> hot-fix
    在这里插入图片描述
  • 3.手动合并后,查看状态发现是未提交的状态,所以手动合并后把提交代码到暂存区,然后再提交到本地库,提交到本地库的时候,命令中不再需要带文件名了,命令是:git -m "注释"
  • 4.合并后的文件也只是修改master分支上了,对于hot-fix文件上的内容没有影响,
    在这里插入图片描述

f.分支切换的原理-图像解析

  • 1.master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD决定的。所以创建分支的本质就是多创建一个指针。
    • HEAD 如果指向 master,那么我们现在就在 master 分支上。
    • HEAD 如果执行 hotfix,那么我们现在就在 hot-fix 分支上。

在这里插入图片描述


1.5.Git的团队协作开发

  • 1.团队内部协作情况1
    在这里插入图片描述
  • 2.跨团队协作情况2
    在这里插入图片描述

下一章:Github使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值