版本控制:
是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
三类版本控制
- 本地版本控制系统
- 集中化的版本控制系统
- 分布式版本控制系统
Git属于分布式版本控制系统,诞生于2005年,由Linux开源社区开发
Git的一些基础概念:
1.直接记录快照,而非差异比较
Git和其他版本控制系统的主要差别在于对待数据的方法。其它大部分系统以文件变更列表的当时存储信息。
这类系统将它们保存的信息看作一组基本文件和每个文件随时间逐步积累的差异。如下图所示,
反之,Git更像把数据看作是对小型文件系统的一组快照。每次提交更新或在Git中保存项目状态时,它主要
对当时的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件未修改,则Git不再重新存储该文件,而
只保留一个链接指向之前存储的文件。Git对数据更像一个快照流。如下图所示。
2.近乎所有操作都是本地执行
在Git中的绝大多数操作都只需要访问本地文件和资源。
3.Git保证完整性
4.Gti一般只添加数据
5.三种状态
Git的三个工作区域概念:
Git仓库:保存项目的元数据和对象数据库
工作目录:对项目的某个版本独立提取出来的内容
暂存区域:是一个文件,保存了下次将要提交的文件列表信息。一般在Git仓库目录中。
Git的基本工作流程:
(1)在工作目录中修改文件
(2)暂存文件,将文件快照放入暂存区域
(3)提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录中
Git有三种状态:
已提交:文件保存在Git仓库中
已修改:自上次取出后,作了修改但还没放到暂存区域
已暂存:做了修改并放入了暂存区域