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