Pro Git 讀書筆記

一. 起步

1. 集中式版本控制缺點:中央服務器的單點故障。git

 分佈式版本控制優勢:客戶端並不僅提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。github

           這麼一來,任何一處協同工做用的服務器發生故障,過後均可以用任何一個鏡像出來的本地倉庫恢復。vim

           由於每一次的提取操做,實際上都是一次對代碼倉庫的完整備份。服務器

           它也有中央服務器的概念,不過這也只是相似於其餘備份的客戶端,做用只是利於其餘客戶端克隆而已。編輯器

2. 直接記錄快照,而非文件差別。分佈式

 Git 和其餘版本控制系統的主要差異在於,Git 只關心文件數據的總體是否發生變化,而大多數其餘系統則只關心文件內容的具體差別。工具

 每次提交更新時,它會縱覽一遍全部文件並對文件做一快照(即作一次備份),而後保存一個指向此次快照的索引。spa

3. 在保存到 Git 以前,全部數據都要進行內容的校驗和(checksum)計算,並將此結果做爲數據的惟一標識和索引。即不可能在你修改了文件或目錄以後,Git 一無所知。.net

4. 在 Git 內都只有三種狀態:已修改(modified),已暫存(staged),已提交(committed)。版本控制

5. Git初始配置: git config 命令

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

git config --global core.editor vim //文本編輯器
git config --global merge.tool vimdiff //差別分析工具
git config --list //查看配置信息
  • /etc/gitconfig 文件:系統中對全部用戶都廣泛適用的配置。若使用 git config 時用 --system 選項,讀寫的就是這個文件。
  • ~/.gitconfig 文件:用戶目錄下的配置文件只適用於該用戶。若使用 git config 時用 --global 選項,讀寫的就是這個文件。
  • 當前項目的 git 目錄中的配置文件(也就是工做目錄中的 .git/config 文件):這裏的配置僅僅針對當前項目有效。
  • 每個級別的配置都會覆蓋上層的相同配置,因此 .git/config 裏的配置會覆蓋 /etc/gitconfig 中的同名變量。

二. Git基礎

1. 初始化

git init
git add .
git add <file>
git commit -m "init"
git clone git://github.com/schacon/grit.git
git clone git://github.com/schacon/grit.git mygrit

 2. 基本操做

git status

 





 參考連接: http://git.oschina.net/progit/

相關文章
相關標籤/搜索