Bootstrap

Git版本控制

文章目录

Git版本控制

知识点01:课程内容大纲与学习目标
#课程内容大纲
	版本控制工具Git

#学习目标
    了解下git的背景以及作用
    了解下git基本使用

知识点02:项目开发中的版本问题

目标:了解项目开发中遇到的开发版本问题

  • 举例:你在大学中写论文

    • 问题1:直接在一个文件上不断修改,但如果我想回到之前某个版本怎么办
    • 手动的管理和记录每个版本之间的变化

在这里插入图片描述

  • 问题2:如果我让别人帮我写,我自己也写,我想将别人写的部分和我写的部分合并怎么办

    • 论文有10个部分,10个人来写,我需要合并
    • 我觉得有个人写的不好,我要重写它的,再合并
  • 问题:所有的操作都在手动管理,极其容易出现错误

  • 项目开发会存在同样的问题

    • 整个项目由多个人共同开发,每个人开发的模块可能一样也可能不一样
      • 不一样:每个人负责不同的 功能模块
      • 一样:多个人共同负责一个模块
    • 代码会产生多个版本
      • 版本如何控制?
      • 这个版本中没有这个功能,但是我下个版本想要这个功能,下下一个版本这个功能又不需要了
      • 产品
        • v1:A、B
          • 原来的版本,有A和B两个功能
        • v2:A、C
          • 去掉了B功能,添加了C功能
        • v3:A、B、C
          • 添加了B这个功能
  • 如何实现多个人共同开发一个项目,能将项目的多个版本进行自由方便的管理

    • 甲:今天开发了一个版本,保存这个版本
    • 乙:基于甲昨天开发的版本,进行继续开发
    • 丙:负责开发另外一个版本

知识点03:Git的诞生及特点

了解Git的诞生背景及特点

  • 项目版本管理工具:能自动的将多个版本进行管理存储,类似于快照,多个人共享版本

  • Git诞生分布式项目管理工具目前整个行业内最流行最受欢迎的项目版本管理工具

    • 开发者:Linus Torvalds
      • Linux的创始人

      • Linux诞生以后,全球很多开发者开发了 很多个版本的Linux,提交给Linus Torvalds

      • Linus Torvalds 将优秀的代码集成在Linux内核中,手动管理所有的代码

      • Linus Torvalds 不喜欢传统的免费CVS等工具,因为这些工具不好用,好用的都收费

      • **Linus Torvalds 先选择了一个商业化的工具BitKeeper **,达成协议可以免费使用

      • 于是团队中的一个哥们有个想法:能不能破解这个东西?

      • 被发现了:Linus Torvalds 保证不再破解

      • 到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结

        束,他们收回了免费使用 BitKeeper 的权力

      • 两周以后,Linus Torvalds 自己用C语言开发了Git,使用了类似于Linux的管理方式

      • Linus Torvalds :将Linux的版本控制切换到Git上

        • Git的开发汲取了其他的版本控制工具的优点,避免了缺点
SVN和GIT对比

集中式:SVN

在这里插入图片描述

  • 所有版本的代码都集中在SVN的服务器上

  • 任何一个开发者,都只能连接SVN服务器,下载代码和上传新的版本

  • 集中式:所有的开发都围绕SVN服务器为核心

  • 缺点

    • 必须联网

      • 局域网:还是比较快的,但是回家以后就没办法开发了
        • 在公司下载好
        • 回家开发,只能开发一个版本
        • 回到公司上传这个版本
      • 互联网:特别慢
        • 在任何一个地方连接SVN服务器,进行下载和上传
    • 自己无法自动管理多个版本

    • SVN服务器存在单点故障

  • 分布式:Git

    在这里插入图片描述

    • 去中心化模式
    • 优点
      • 不需要联网,自己的笔记本就是个本地版本库,直接利用自己的笔记本实现版本的管理
      • 自己可以管理任意多个版本
      • 不需要担心公共的版本库故障,每个人的本地都有版本库
Git的特点
  • 适合于分布式开发,多人可以共同开发,强调个体

  • 公共的版本库服务器的压力不会太大

  • 速度快、更加灵活

  • 任意的开发者之间如果产生冲突也容易解决

  • 不需要联网也可以实现多版本管理


知识点04:Git管理的组成结构

掌握Git管理版本的组成结构

  • 图示

在这里插入图片描述

  • 本地版本控制Git服务器
    • 工作区【Work Dir】:就是你开发和修改代码的地方
    • 暂存区【Index】:临时存放你即将提交的版本的地方
      • 所有需要保存的版本必须先添加到暂存区
    • 本地版本仓库【HEAD】:本地的版本库,实现本地的版本的管理
      • 所有暂存区的版本会被提交到本地版本库
  • 远程版本仓库:用于共享项目代码版本
    • GitHub: https://github.com/
    • Gitee: https://gitee.com/

知识点05:Git及辅助工具安装

实现Git及辅助工具的安装

  • 实施

    • 需要安装的工具
      在这里插入图片描述

      • Git-2.13.0-64-bit.exe:Windows版本的Git工具安装包
      • TortoiseGit-2.4.0.2-64bit.msi:Git的可视化工具安装包
      • TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN.msi:TortoiseGit工具的汉化包
    • 安装Git

      • 参考安装文档
    • 安装TortoiseGit

      • 参考安装文档
    • 安装TortoiseGit汉化包

      • 参考安装文档
知识点06:本地仓库构建几种方式

基于自己的笔记本,在本地操作系统中实现Git本地仓库的构建

step1:准备

  • 每个项目都可以基于Git构建版本库,每个项目都可以做版本管理

  • 先创建一个目录,再创建三个子目录【三个本地库】

在这里插入图片描述

  • 本地库只要构建成功就会创建一个 隐藏目录.git

    修改配置 打开显示隐藏的项目

    在这里插入图片描述

step2:构建

方式一:通过Git命令来构建

在这里插入图片描述

在这里插入图片描述

输入命令: git init

在这里插入图片描述

方式二:通过TortoiseGit构建

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

方式三:通过Git图形化界面构建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

知识点07:Git基本操作–添加、提交

实现在Git本地工作区,添加文件到本地仓库

创建文件

在这里插入图片描述

添加到暂存区
#添加一个或者多个文件到暂存区
git add [file1] [file2] ...

#添加指定目录到暂存区,包括子目录
git add [dir]

#添加当前目录下的所有文件到暂存区
git add .

#如何嫌命令难记,也可以使用下述的tortoiseGit工具操作

在这里插入图片描述

在这里插入图片描述

注意啊,这里点确定表示添加到暂存区,点击提交就一步提交到仓库了。

提交到本地库
#前面我们使用 git add 命令将内容写入暂存区。

#git commit 命令将暂存区内容添加到本地仓库中。

#master涉及分支的管理,我们后面细说。

git commit -m 
;