簡介
Git是一個開源的分布式版本控制系統,可以對任何型別的檔案進行版本控制,
特點
-
直接記錄快照,而非差異比較
大部分系統都是以檔案變更串列的方式存盤每個檔案與初始版本的差異,
Git則把資料看作是對小型檔案系統的一組快照,在檔案發生變更時對當時的全部檔案制作一個快照并保存這個快照的索引,形成一系列快照流;
-
近乎所有操作都是本地執行
在Git中的絕大多數操作都只需訪問本地檔案和資源,一般不需要來自網路的其它資訊,因為在本地磁盤上就有專案的完整歷史;
-
保證完整性
Git中所有資料在存盤前都通過SHA-1哈希演算法計算校驗和,然后以校驗和來參考,這意味著不可能在Git不知情的情況下更改任何檔案內容;
-
一般只添加資料
執行的Git操作幾乎只往Git倉庫中增加資料,很難讓Git執行任何不可逆操作,或者讓它以任何方式清除資料,
狀態轉換
Git有三種狀態:
- 已修改:表示修改了檔案,但還沒保存至Git倉庫;
- 已暫存:表示對一個已修改檔案的當前版本做了標記,使之包含在下次提交的快照中;
- 已提交:表示檔案已經安全的保存至Git倉庫,
與之對應,Git專案具有以下三個作業區域:
-
作業目錄:對專案某個版本獨立提取出來的內容,放在磁盤以供修改與使用;
-
暫存區域:是一個檔案,保存下次將提交的檔案串列資訊;
-
Git倉庫:Git用來保存專案元資料和檔案物件的倉庫,
作業流程
- 在作業目錄中修改檔案;
- 暫存檔案,將檔案快照放入暫存區域;
- 提交更新,找到暫存區域的檔案,將檔案快照永久性存盤到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 "[email protected]"
查看配置資訊:
$ git config --list
參考資料
- Pro Git 第二版
- 廖雪峰的Git教程
- RUNOOB.COM的Git教程
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/141378.html
標籤:Linux
