一. 起步
1. 集中式版本控制缺點:中央服務器的單點故障。
分布式版本控制優點:客戶端并不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。
PDF筆記, 這么一來,任何一處協同工作用的服務器發生故障,事后都可以用任何一個鏡像出來的本地倉庫恢復。
因為每一次的提取操作,實際上都是一次對代碼倉庫的完整備份。
它也有中央服務器的概念,不過這也只是類似于其他備份的客戶端,作用只是利于其他客戶端克隆而已。
Python筆記?2. 直接記錄快照,而非文件差異。
Git 和其他版本控制系統的主要差別在于,Git 只關心文件數據的整體是否發生變化,而大多數其他系統則只關心文件內容的具體差異。
每次提交更新時,它會縱覽一遍所有文件并對文件作一快照(即做一次備份),然后保存一個指向這次快照的索引。
3.?在保存到 Git 之前,所有數據都要進行內容的校驗和(checksum)計算,并將此結果作為數據的唯一標識和索引。即不可能在你修改了文件或目錄之后,Git 一無所知。
4.?在 Git 內都只有三種狀態:已修改(modified),已暫存(staged),已提交(committed)。
5. Git初始配置:?git config 命令
git config --global user.name "John Doe" git config --global user.email johndoe@example.comgit 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/