步驟比較簡單
主要是記錄下 實現的過程 備忘。
比較詳細的教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000
CentOS的yum源中沒有git,只能自己編譯安裝
確保已安裝了依賴的包
yum install curl |
yum install curl-devel |
yum install zlib-devel |
yum install openssl-devel |
yum install perl |
yum install cpio |
yum install expat-devel |
yum install gettext-devel |
下載最新的git包
wget http://distfiles.macports.org/git/git-2.1.1.tar.gz |
tar xzvf git-latest.tar.gz |
cd git-2011-11-30 #你的目錄可能不是這個 |
autoconf |
./configure |
make |
sudo make install |
檢查下安裝的版本,大功告成
參考:
1 關於版本控制
版本控制是一種記錄一個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。有以下三種版本控制系統:
1. 本地版本控制系統
許多人習慣用複製整個項目目錄的方式來儲存不同的版本,或許還會改名加上備份時間以示區別。這麼做唯一的好處就是簡單。不過壞處也不少:有時候會混淆所在的工作目錄,一旦弄錯檔案丟了資料就沒法撤銷恢複。
為瞭解決這個問題,人們很久以前就開發了許多種本地版本控制系統,大多都是採用某種簡單的資料庫來記錄檔案的曆次更新差異。圖示如下,
2. 集中化的版本控制系統
集中化的版本控制系統( Centralized Version Control Systems,簡稱 CVCS )能夠讓在不同的開發系統上的開發人員協同工作。這類系統,諸如 CVS,Subversion 以及 Perforce 等,都有一個單一的集中管理的伺服器,儲存所有檔案的修訂版本,而協同工作的人們都通過用戶端連到這台伺服器,取出最新的檔案或者提交更新。多年以來,這已成為版本控制系統的標準做法
3. 分布式版本控制系統
分布式版本控制系統(Distributed Version Control System,簡稱 DVCS ),像 Git,Mercurial,Bazaar 以及 Darcs 等,用戶端並不只提取最新版本的檔案快照,而是把代碼倉庫完整地鏡像下來。這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何一個鏡像出來的本地倉庫恢複。因為每一次的提取操作,實際上都是一次對代碼倉庫的完整備份,
更進一步,許多這類系統都可以指定和若干不同的遠端代碼倉庫進行互動。籍此,你就可以在同一個項目中,分別和不同工作小組的人相互協作。你可以根據需要設定不同的協作流程,比如層次模型式的工作流程,而這在以前的集中式系統中是無法實現的。
2 關於Git
Git是分布式版本控制系統的一個完美實現,它與集中式版本控制系統SVN的基本區別如下:
Git是分布式的,而SVN不是
Git和SVN一樣有自己的集中式版本庫或伺服器。但,GIT更傾向於被使用於分布式模式,也就是每個開發人員從中心版本庫/伺服器上chect out代碼後會在自己的機器上複製一個自己的版本庫。
Git將內容按中繼資料方式儲存,而SVN是按檔案
所有的資源控制系統都是把檔案的元資訊隱藏在一個類似.svn,.cvs等的檔案夾裡。如果你把.git目錄的體積大小跟.svn比較,你會發現它們差距很大。因為,.git目錄是處於你的機器上的一個複製版的版本庫,它擁有中心版本庫上所有的東西,例如標籤,分支,版本記錄等。
Git分支和SVN分支的不同
SVN的分支就是版本庫中的另外一個目錄,而Git的分支卻是整個版本庫的一個快照,而且可以在同一個工作目錄下快速的在幾個分支間切換。
Git沒有一個全域的版本號碼,而SVN有
SVN的版本號碼實際是任何一個相應時間的原始碼快照。而Git並沒有這樣的一個全域版本號碼,這也是Git缺少的最大的一個特徵
Git的內容完整性要優於SVN
Git的內容儲存使用的是SHA-1雜湊演算法。這能確保代碼內容的完整性,確保在遇到磁碟故障和網路問題時降低對版本庫的破壞。
Git的基本工作流程如下:
在工作目錄中修改某些檔案。
對修改後的檔案進行快照,然後儲存到暫存地區。
提交更新,將儲存在暫存地區的檔案快照永久轉儲到 Git 目錄中。
3 Git伺服器搭建
1. 環境部署
系統內容:伺服器端:CentOS 6.5 ,ip:192.168.56.1
用戶端:CentOS 6.5 ,ip:192.168.56.101
軟體版本:伺服器端:源碼編譯安裝,git-1.9.0.tar.gz
用戶端:yum線上安裝機制
2. 安裝
2.1 伺服器端:
#yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
#wget http://git-core.googlecode.com/files/git-1.9.0.tar.gz
#tar zxvf git-1.9.0.tar.gz
#cd git-1.9.0
#make prefix=/usr/local all
#make prefix=/usr/local install #root使用者運行
查看版本號碼:git --version