版本控制是一種記錄乙個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統
本地版本控制系統:
其中最流行的一種叫做 rcs,現今許多計算機系統上都還看得到它的蹤影。 rcs 的工作原理是在硬碟上儲存補丁集(補丁是指檔案修訂前後的變化);通過應用所有的補丁,可以重新計算出各個版本的檔案內容。
集中化的版本控制系統:
接下來人們又遇到乙個問題,如何讓在不同系統上的開發者協同工作? 於是,集中化的版本控制系統(centralized version control systems,簡稱 cvcs)應運而生。 這類系統,諸如 cvs、subversion 以及 perforce 等,都有乙個單一的集中管理的伺服器,儲存所有檔案的修訂版本,而協同工作的人們都通過客戶端連到這台伺服器,取出最新的檔案或者提交更新。
缺點是**伺服器的單點故障。 如果宕機一小時,那麼在這一小時內,誰都無法提交更新,也就無法協同工作。 如果中心資料庫所在的磁碟發生損壞,又沒有做恰當備份,毫無疑問你將丟失所有資料——包括專案的整個變更歷史,只剩下人們在各自機器上保留的單獨快照。 本地版本控制系統也存在類似問題,只要整個專案的歷史記錄被儲存在單一位置,就有丟失所有歷史更新記錄的風險。
分布式版本控制系統:
於是分布式版本控制系統(distributed version control system,簡稱 dvcs)面世了。 在這類系統中,像 git、mercurial、bazaar 以及 darcs 等,客戶端並不只提取最新版本的檔案快照, 而是把**倉庫完整地映象下來,包括完整的歷史記錄。 這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何乙個映象出來的本地倉庫恢復。 因為每一次的轉殖操作,實際上都是一次對**倉庫的完整備份。
直接記錄快照,而非差異比較
近乎所有操作都是本地執行
git 保證完整性
git 一般只新增資料
三種狀態:已提交(committed)、已修改(modified) 和 已暫存(staged)
請移步git安裝:
可能在make all doc info的 時候會報錯誤。
需要安裝依賴:
yum install gcc gcc-c++ autoconf make automake wget -y
yum install cpio texinfo sgml2xml openjade perl-extutils-makemaker -y
yum install asciidoc xmlto docbook2x -y
yum install cpio texinfo sgml2xml openjade perl-extutils-makemaker -y
yum install perl curl-devel expat-devel gettext-devel openssl-devel zlib-devel -y
git help
如:git help config
git -h
如:git add -h
git 初始配置
使用者名稱和郵箱 git config global user.name your name git config global user.email you your.domain 配置換行符 windows下建議 git config global core.autocrlf true 這將使檔...
git 初始配置
使用者名稱和郵箱 git config global user.name your name git config global user.email you your.domain 配置換行符 windows下建議 git config global core.autocrlf true 這將使檔...
Git 安裝和配置
在arch下安裝git比較容易,只要利用root許可權pacman s git即可,則可以獲得最新版的git 目前是1.7.6.1 然後就是常用的配置.我們可以利用git help config來查詢相應的配置選項 配置分為三個等級,乙個是整個系統等級的,在 etc gitconfig,這個配置是配...