GIT版本控制学习

版本控制的发展

本地版本控制系统

保存并管理文件补丁(patch)。文件补丁是一种特定格式的文本文件,记录着对应文件修订前后的内容变化

集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )

都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

最显而易见的缺点是中央服务器的单点故障

分布式版本控制系统( Distributed Version Control System,简称 DVCS )

客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份

GIT原理

Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。

GIT近乎所有操作都是本地执行

文件的三种状态

已提交(committed),已修改(modified)和已暂存(staged)

已提交表示该文件已经被安全地保存在本地数据库中了;

已修改表示修改了某个文件,但还没有提交保存;

已暂存表示把已修改的文件放在下次提交时要保存的清单中。


基本的 Git 工作流程如下:

  1. 在工作目录中修改某些文件。

  2. 对修改后的文件进行快照,然后保存到暂存区域。

  3. 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。



出自:http://git.oschina.net/progit/index.html



你可能感兴趣的:(git,版本控制)