Git起步

簡介

Git是一個開源的分佈式版本控制系統,能夠對任何類型的文件進行版本控制。html

特色

  • 直接記錄快照,而非差別比較git

    大部分系統都是以文件變動列表的方式存儲每一個文件與初始版本的差別,算法

    Git則把數據看做是對小型文件系統的一組快照,在文件發生變動時對當時的所有文件製做一個快照並保存這個快照的索引,造成一系列快照流;安全

  • 近乎全部操做都是本地執行ruby

    在Git中的絕大多數操做都只需訪問本地文件和資源,通常不須要來自網絡的其它信息,由於在本地磁盤上就有項目的完整歷史;網絡

  • 保證完整性分佈式

    Git中全部數據在存儲前都經過SHA-1哈希算法計算校驗和,而後以校驗和來引用,這意味着不可能在Git不知情的狀況下更改任何文件內容;工具

  • 通常只添加數據版本控制

    執行的Git操做幾乎只往Git倉庫中增長數據,很難讓Git執行任何不可逆操做,或者讓它以任何方式清除數據。code

狀態轉換

Git有三種狀態:

  • 已修改:表示修改了文件,但還沒保存至Git倉庫;
  • 已暫存:表示對一個已修改文件的當前版本作了標記,使之包含在下次提交的快照中;
  • 已提交:表示文件已經安全的保存至Git倉庫。

與之對應,Git項目具備如下三個工做區域:

  • 工做目錄:對項目某個版本獨立提取出來的內容,放在磁盤以供修改與使用;
  • 暫存區域:是一個文件,保存下次將提交的文件列表信息;
  • Git倉庫:Git用來保存項目元數據和文件對象的倉庫。

工做流程

  1. 在工做目錄中修改文件;
  2. 暫存文件,將文件快照放入暫存區域;
  3. 提交更新,找到暫存區域的文件,將文件快照永久性存儲到Git倉庫。

安裝

在Ubuntu系統中安裝Git:

$ sudo apt-get install git

配置

Git經過git config工具來幫助設置控制Git外觀和行爲的環境變量,這些變量保存在如下三個地方:

  • /etc/gitconfig:包含系統上每個用戶及其倉庫的通用配置,可以使用git config --system讀寫配置變量;
  • ~/.gitconfig:只針對當前用戶,可以使用git config --global讀寫配置變量;
  • 當前倉庫.git目錄中的config文件:只針對該倉庫,可以使用git config讀寫配置變量。

上述文件,每個級別都會覆蓋上一個級別的配置。

設置當前用戶的用戶名與Email地址:

$ git config --global user.name "username"
$ git config --global user.email "username@example.com"

查看配置信息:

$ git config --list

參考資料

相關文章
相關標籤/搜索