Git是一个开源的分布式版本控制系统,能够对任何类型的文件进行版本控制。html
直接记录快照,而非差别比较git
大部分系统都是以文件变动列表的方式存储每一个文件与初始版本的差别,算法
Git则把数据看做是对小型文件系统的一组快照,在文件发生变动时对当时的所有文件制做一个快照并保存这个快照的索引,造成一系列快照流;安全
近乎全部操做都是本地执行ruby
在Git中的绝大多数操做都只需访问本地文件和资源,通常不须要来自网络的其它信息,由于在本地磁盘上就有项目的完整历史;网络
保证完整性分布式
Git中全部数据在存储前都经过SHA-1哈希算法计算校验和,而后以校验和来引用,这意味着不可能在Git不知情的状况下更改任何文件内容;工具
通常只添加数据版本控制
执行的Git操做几乎只往Git仓库中增长数据,很难让Git执行任何不可逆操做,或者让它以任何方式清除数据。code
Git有三种状态:
与之对应,Git项目具备如下三个工做区域:
Git仓库:Git用来保存项目元数据和文件对象的仓库。
在Ubuntu系统中安装Git:
$ sudo apt-get install git
Git经过git config
工具来帮助设置控制Git外观和行为的环境变量,这些变量保存在如下三个地方:
git config --system
读写配置变量;git config --global
读写配置变量;git config
读写配置变量。上述文件,每个级别都会覆盖上一个级别的配置。
设置当前用户的用户名与Email地址:
$ git config --global user.name "username" $ git config --global user.email "username@example.com"
查看配置信息:
$ git config --list