文章目录
Git
1起步—关于版本控制
1.1 文件的版本
- 操作麻烦
- 命名不规范
- 容易丢失
- 协作困难
1.2 版本控制软件
- 概念:用来记录文件变化,以便日后查阅某版本修改情况的系统(版本控制系统)。
- 好处:
- 操作简便
- 易于对比
- 易于回溯
- 不易丢失
- 协作方便
1.3 版本控制系统的分类
-
本地版本控制系统
-
特点:使用软件记录文件的不同版本,提高了工作效率,降低了手动维护版本的出错率。
-
缺点:
- 单机运行,不支持多人协作;
- 版本数据库故障后,所有历史更新记录会丢失。。
-
-
集中化的版本控制系统
-
特点:基于服务器、客户端的运行模式。
- 服务器保存文件的所有更新记录。
- 客户端只保留最新的文件版本。
-
优点:
- 联网运行,支持多人协作开发;
- 性能差、用户体验不好。
-
缺点:
- 不支持离线提交版本更新;
- 中心服务器崩溃后,所有人无法正常工作;
- 版本数据库故障后,所有历史更新记录会丢失。
-
典型代表:SVN、CVS。
-
-
分布式的版本控制系统
-
特点:基于服务器、客户端的运行模式。
- 服务器保存文件的所有更新记录。
- 客户端是服务器的完整备份,并不是只保留最新版本。
-
优点:
- 联网运行,支持多人协作开发;
- 客户端断网后支持离线本地提交班额本更新;
- 服务器故障后,可使用任一客户端的备份进行恢复;
- 性能优秀、用户体验好。
-
典型代表:Git。
-
2 Git基础概念
2.1 什么是Git
-
Git是一个开源的版本控制系统,最先进、最流行。可以快速高效地处理各种大小的项目版本管理。
-
特点:项目越大越复杂,协同开发者越多,越能体现出Git的高性能和高可用性。
2.2 Git的特性
- 直接记录快照,而非差异比较。
- 几乎所有操作都是本地执行。
-
SVN的差异比较
- 传统的版本控制系统是基于差异的版本控制,存储的是一组基本文件和没文件随时间逐步累积的差异。
- 优点:节省磁盘空间。
- 缺点:耗时,效率低。
- 传统的版本控制系统是基于差异的版本控制,存储的是一组基本文件和没文件随时间逐步累积的差异。
-
Git的记录快照
- Git快照是在原有文件的基础上重新生成一份新的文件,类似于备份。若文件没有修改,则不再备份,只保留一个链接指向之前存储的文件。
- 优点:版本切换时非常快。
- 缺点:占用磁盘空间较大。
- 特点:空间换时间。
- Git快照是在原有文件的基础上重新生成一份新的文件,类似于备份。若文件没有修改,则不再备份,只保留一个链接指向之前存储的文件。
-
几乎所有操作都是本地执行
- 在Git中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。
- 特性:
- 断网后依旧可以在本地对项目进行版本管理。
- 联网后,把本地修改的记录同步到云端服务器即可。
2.3 Git中的三个区域
- Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
- 拥有三个区域
- 工作区
- 暂存区
- Git仓库
2.4 Git中的三种状态
- 三种状态
- 已修改modified
- 已暂存staged
- 已提交committed
2.5 基本的Git工作流程
- 基本的工作流程
- 在工作区中修改文件。
- 将想要下次提交的更改进行暂存。
- 提交更新,找到暂存区文件,将快照永久性存储到仓库。