Git版本管理工具超详细(下载、安装、远程仓库的搭建、git指令)

目录

01_Git概述

02_GIT相关概念(掌握)

03_Git下载与安装

04_Git本地操作-初始化工作区

05_Git本地操作-add与commit

06_Git本地操作-差异比较

07_Git本地操作-版本回退

08_Git本地操作-修改撤消

09_分支操作-分支介绍(掌握)

10_分支操作-分支创建与切换

11_分支操作-分支合并与删除

12_Git远程仓库介绍与码云仓库注册创建

13_Git远程仓库操作-关联、拉取、推送、克隆

14_IDEA中使用Git-集成Git

15_IDEA中使用Git-add与commit

16_IDEA中使用Git-差异化比较

17_IDEA中使用Git-版本回退及撤消

18_IDEA中使用Git-远程仓库GitLab介绍

19_保护master分支(组长操作)

20.从Gitlab上拉取项目至本地(组长和组员)

21_在IDEA中切换分支并推送(掌握)

22_其他分支合并到master分支并提交到gitlab上(组长掌握)


学习目标

  • 能说出Git的工作流程
  • 使用Git完成常用操作【本地操作、远程操作、协作】
  • Git菜鸟网站 : Git 教程 | 菜鸟教程

01_Git概述

  1. Git概述 : Git是目前世界上最先进的分布式文件版本控制系统
    1. 分布式 : 将数据进行拆分,每个数据部署到不同服务器中,数据独立 , 后期Springcloud框架会详细讲解
    2. 版本控制 : 将一组文件的改动记录下来,形成版本历史,以便需要时恢复
  1. Git作用 :
    1. 代码共享

  1. 回溯版本

  1. 追踪信息

  1. GIT与SVN的区别【面试题,不用理解,概念性记忆】
    • Git 是分布式的,SVN 不是
    • Git 把内容按元数据(修饰数据的数据)方式存储,而 SVN 是按文件
    • Git 分支和 SVN 的分支不同
    • Git 没有一个全局的版本号,而 SVN 有
    • Git 的内容完整性要优于 SVN

  1. 学习方式介绍
    • Git是一个软件, 学习时偏向于操作
    • GIT操作不是一次性掌握的,后续还需要慢慢熟悉,提高熟练度
    • Git在集成IDEA中,不同版本的IDEA中页面显示不同,操作时注重于选项的文字
    • Git基于命令操作参考文档实现即可 , IDEA工具集成使用重点掌握

02_GIT相关概念(掌握)


我们先来理解下 Git 工作区、暂存区和版本库概念:

工作区 : 就是你在电脑里能看到的目录

  1. 注意 : 电脑上的任意目录只要通过指令 'git init' 就会把目录变成工作区

版本库 : 工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库

  1. 暂存区
    • 介绍 : 英文叫index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引
    • 作用 : 作为缓冲作用,理解为临时提交的数据,当数据确认后可以一次性将所需的文件从暂存区提交到本地仓库中
    • 注意 : 暂存区在版本库中只是一个文件而已 ,
  1. 本地仓库
    • 版本库中的一部分
    • 作用 : 存放不同版本的代码,例如:(完成了项目10%的代码、完成了项目20%的代码)

03_Git下载与安装

  1. 进入官网下载软件
    1. Windows系统
    1. Mac系统
  1. Git软件安装过程


 

  1. 验证是否安装成功

04_Git本地操作-初始化工作区

  1. 基本指令
    • git init : 将目录初始化为工作区
    • git status : 查看当前状态
  1. 操作步骤

工作区 : 就是你在电脑里能看到的目录,只要通过指令git init就会把目录变成工作区

  1. 在硬盘中创建工作目录 git-test
  2. 点击git-test目录 , 右键选择Git Bash Here(git的命令窗口)
  3. 在git命令窗口中输入git init , 发现git-test目录中生成一个隐藏的.git目录 , 说明git-test目录成为工作区
  4. 我们在git-test目录中创建一个readme.txt文件,添加内容第一行代码。可以通过命令来查看它的状态 红色代表当前没有提交到缓存区


 

05_Git本地操作-add与commit

  1. 基本指令
    • git add 文件名 : 将文件添加到暂存区
    • git commit -m '备注' : 将暂存区内容添加到本地仓库中

  1. 操作步骤
    1. 在git控制台中使用命令 git add readme.txt , 将文件由工作区提交暂存区
    2. 通过git status来查看状态,如果是绿色说明工作区的文件已经提交到了暂存区
    3. 将缓存区内容提交本地仓库命令 git commit -m '第一次提交' 说明 : -m 后面跟随的是备注, m是单词message信息的首字母提交信息格式:增删改查第几次提交
    4. 注意:如果第一次提交出现了弹出框 , 需要填写如下内容

命令: git config --global user.email '[email protected]'
说明: 指定邮箱
命令: git config --global user.name '自己的英文名字'
说明: 指定操作者

06_Git本地操作-差异比较

  1. 基本指令
    • 工作区与暂存区如何比较 -- git diff 文件名
    • 工作区与本地库如何比较 -- git diff HEAD 文件名
    • 暂存区与本地库如何比较 -- git diff --cached 文件名
  1. 操作步骤
    1. 打开工作区中readme.txt文件 , 新增内容 第二行代码
    2. 使用指令查看差异比较

07_Git本地操作-版本回退

  1. 基本指令
    • 查看当前提交日志 -- git log
    • 查看所有操作简短日志 -- git reflog
    • 回退到指定版本 -- git reset --hard 版本唯一索引值
  1. 操作步骤
    1. 在readme.txt文件中提交第三行代码,并提交
    2. 使用git log指令查看当前提交日志
    3. 使用git reflog指令查看所有操作简短日志
    4. 回退到第二此提交的版本 git reset --hard 版本唯一索引值
    5. 查看文件中的内容变化

08_Git本地操作-修改撤消

  1. 基本指令
    • 撤销工作区修改(删除工作区未添加内容) -- git checkout 文件名称
    • 撤销到工作区(把暂存区内容撤销到工作区) -- git reset head 文件名称
  1. 操作步骤
    1. 在readme.txt文件中添加第四行代码
    2. 查看状态
    3. 使用指令 git checkout 文件名称 , 把工作区未添加的内容删除
    4. 在readme.txt文件中查看是否存在第四行代码
    5. 在readme.txt文件中添加第五行代码
    6. 使用add指令添加到暂存区
    7. 查看状态
    8. 使用指令git reset head 文件名称 , 把暂存区的内容撤回到工作区
    9. 查看状态

09_分支操作-分支介绍(掌握)

  1. 分支概述
    • 一个分支代表一条独立的开发线,几乎每一种版本控制系统都以某种形式支持分支。
  1. 分支作用
    • 使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作
    • 举例 : 业务人员给我们提出了一个需求,经过我们的思考和分析该需求应该可以使用技术手段进行实现。但是我们还不敢确定,我们就可以去创建一个分支基于分支进行尝试性开发,如何开发成功那么可以将该功能进行合并到主业务中

10_分支操作-分支创建与切换

  1. 基本指令
    • 分支的创建 -- git branch 分支名
    • 分支的切换 -- git checkout 分支名
    • 查看分支 -- git branch
  1. 操作步骤
    1. 创建分支名字为dev
      注意 : 在哪一个分支上创建的新分支,那么新分支也有当前的数据
    2. 查看有哪些分支
    3. 切换到dev分支上
    4. 在dev分支上添加内容 在dev分支上添加的代码
    5. 添加到暂存区
    6. 添加到本地仓库
    7. 在dev分支中查看readme.txt文件中内容
    8. 切换到master主分支上,查看主分支上是否存在新添加的内容
      注意 : 在分支上添加的数据 ,没有合并之前,在其他分支上是看不到内容的

11_分支操作-分支合并与删除

  1. 基本指令
    • 分支的合并 -- git merge 分支名
    • 分支的删除 -- git branch -d 分支名
  1. 操作步骤
    1. 切换到master主分支上,进行合并
      注意 : 当前在哪一个分支,那么合并就会合并到当前分支上
    2. 查看合并后的master主分支上的内容
    3. 删除dev分支
    4. 查看有有些分支

12_Git远程仓库介绍与码云仓库注册创建

第一部分 : 远程仓库介绍

本地仓库 : 在个人电脑中的,用于存储个人提交记录与提交日志,说简单点,你现在commit提交的内容都在本地
远程仓库 : 是公外网中的一个仓库,主要用于存储个人或团队的提交记录与提交日志,团队合作开发也是靠远程仓库实现的。大家都把数据提交到同一个远程仓库 , 这样每个人都可以获取到团队内开发的所有内容了。目前市面上常用的git支持的远程仓库有如下三个

  1. GitHub https://github.com
    面向开源及私有软件项目的托管平台,功能强大,但是在国外速度一般。
  2. Giteehttps://gitee.com
    开源中国(OSChina)推出的基于Git的代码托管平台,又叫码云 , 主站在中国, 速度快 ,中国码农的数量那不是一般的多。
  3. Gitlab https://about.gitlab.com
    GitHub和Gitee都是开源的代码托管平台 , 存在一个小问题就是保密性不是很强 ;
    Gitlab基于Git作为版本控制工具的基础上,可以为你搭建一个Web服务器,你就可以理解为自己搭建了一个局域网内能够访问的服务器。也就是私服 ,保证代码安全性

第二部分 : 远程仓库Gitee搭建

  1. 自主完成Gitee的注册 , 网址 : https://gitee.com

  1. 创建远程仓库

 

13_Git远程仓库操作-关联、拉取、推送、克隆

第一部分 : 关联

  1. readme.txt需要先提交到本地仓库,在推送到码云仓库前,我们需要先建立本地仓库与远程仓库的关系
  2. 关联远程仓库命令 : git remote add origin 远程仓库地址
  3. 操作步骤如下

第二部分 : 拉取

  1. 拉取指令 : git pull
    注意1 : 在推送代码前必须先拉取代码,否则无法推送本地仓库代码到码云仓库
    注意2 : 首次拉取 git pull origin master --allow-unrelated-histories
  2. 操作步骤如下

第三部分 : 推送

  1. 推送指令 : git push
    注意1 : 首次推送使用指令 git push -u origin master
    注意2 : 推送前保证代码已经正常提交到本地仓库
  2. 操作步骤

第四部分 : 克隆

  1. 克隆操作往往是进了公司第一步需要做的事情
  2. 克隆指令 : git clone 远程仓库地址
  3. 操作步骤
    1. 创建一个普通目录
    2. 在此目录中打开Git工作台
    3. 执行指令: git clone 远程仓库地址
    4. 查看克隆后的效果

14_IDEA中使用Git-集成Git

  1. 在IDEA工具settings中搜索git,完成配置

  1. 创建工程git-test,把此工程交给git管理

  1. 把资料中的.gitignore文件放入项目的根目录中 , 在左下角的git窗口中就可以查看到需要上传的文件

15_IDEA中使用Git-add与commit

  1. 右键项目 -> 选择git -> 点击Add
    注意 : 在IDEA工具中 , 只要Add一次即可

  1. 右键工程 -> 选择Git -> 选择Commit

  1. 左下角git窗口中 , 查看历史提交记录

16_IDEA中使用Git-差异化比较

  1. 在GitTest类中新增内容

  1. 右键类或者项目 -> 点击Git --> 选择 Compare with Revision

  1. 点击已提交历史版本 , 查看差异

17_IDEA中使用Git-版本回退及撤消

  1. 基于第一次提交之后 ,再次提交两次,演示回退效果

  1. 工作区内容撤销(删除)

18_IDEA中使用Git-远程仓库GitLab介绍

注意 : GitLab远程仓库,只有组长有权限 , 组员没有权限操作 , 工作中由组长或者项目经理进行操作管理
组长不要随意修改其他班级学生数据!!! 此知识点组长掌握

  1. GitLab简介

GitHub和Gitee都是开源的代码托管平台 , 存在一个小问题就是涉密性不是很强 ;
Gitlab基于Git作为版本控制工具的基础上,可以为你搭建一个Web服务器,你就可以理解为自己搭建了一个局域网内能够访问的服务器。也就是私服 ,保证代码安全性

  1. GitLab网址

  1. 登录之后的页面效果

  1. Gitlab项目 , 用户 , 组 介绍

  1. GitLab为了安全起见,是没有注册权限的。这样只能后台生成账号和密码 , 下面取消注册权限(老师已经完成)

  1. Gitlab创建普通用户(组长必做)

  1. 创建组,并将用户添加到组中(组长必做)

  1. 组长创建本地项目上传到GitLab上(组长必做)




组长需要在IDEA中创建一个项目 , 使用Git管理 , 提交到本地仓库(忽略不需要上传的文件) , 上传到远程仓库

 

19_保护master分支(组长操作)

  1. 保护主分支master : 在实际开发中除了组长即管理员,其他人是不能操作master主分支的,为了防止其他人对master分支修改,所以需要对master分支进行保护
  2. 有几位组员创建几个分支 , 组长也需要创建自己的分支 , 不能再master主分支上开发
  3. 如果开发完毕由组长进行分支的合并

  1. 设置master不能合并到其他分支上,设置其他分支可以合并和推送到master主分支上

20.从Gitlab上拉取项目至本地(组长和组员)

  1. 在gitlab中找到项目的地址

  1. 在IDEA工具去中,回到主页面 , 选择Get from VCS

  1. 粘贴复制的项目URL , 点击Clone

  1. 点击信任工程

  1. 导入之后要查看当前项目在idea中的三个环境

21_在IDEA中切换分支并推送(掌握)

  1. 将gitlab中所有的分支拉取到idea中 , 提交 ; 防止数据推送失败

  1. 切换到张三分支上
    注意1:我们不能在master分支上进行书写代码,都在每个其他分支上写代码,然后最后确定没有问题之后再将其他分支上的代码合并到master分支上。
    注意2 : 在切换其他分支之前修改了代码必须先进行提交,否则当前分支的代码就不存在了!!!!!!!!!!!!!

  1. 在张三分支上添加数据 , 提交到本地仓库 , 在进行推送 , 查看推送效果

22_其他分支合并到master分支并提交到gitlab上(组长掌握)

  1. 将当前张三分支上 --> ① 新增代码 --> ② 提交 --> ③ 推送

  1. 切换到本地的master分支上

  1. 将张三分支代码合并到master分支上
    因为当前在master分支上 , 所以选择张三分支合并,会合并到master分支上

  1. 如果有冲突,那么需要选择性的合并

猜你喜欢

转载自blog.csdn.net/qq_57277310/article/details/129610875