git入門

關於版本控制

什麼是「版本控制」?我爲何要關心它呢? 版本控制是一種記錄一個或若干文件內容變化,以便未來查閱特定版本修訂狀況的系統。服務器

本地版本控制系統

許多人習慣用複製整個項目目錄的方式來保存不一樣的版本,或許還會更名加上備份時間以示區別。 這麼作惟一的好處就是簡單,可是特別容易犯錯。 有時候會混淆所在的工做目錄,一不當心會寫錯文件或者覆蓋意想外的文件。分佈式

若是你在學校寫過畢業論文,那你必定碰見過這樣的問題spa

一個論文翻來覆去的改,寫一點以爲有問題,寫一點還以爲有問題,還不容易寫好了,導師還挑刺,還讓你改。。。。。無窮無盡。。3d

 

  • 看着這一堆亂七八糟的文件,你本身也不記得,每個文件到底寫了什麼內容,還得一個個看,想刪又不敢刪。。。
  • 當你寫完了畢業論文,你還得用U盤拷給導師,或者發個郵件給他,可是你回家可能還得改論文,那你發給導師的論文和你本地最新的論文又不一致了。。

因而這麼多使人fuck指的操做,你就但願有沒有一個軟件幫你記錄文件變更的操做而且同事還能一塊兒操做不須要本身傳輸文件,想知道變更了什麼只須要去軟件裏看看,這是否是很nb?版本控制

 這個軟件雛形?

 

版本 文件名 用戶 說明 日期
1 美國皇家大學畢業論文v1.doc yuchao 論文初稿 7/12 10:38
2 美國皇家大學畢業論文v2.doc yuchao 論文修改版 7/12 18:09
3 美國皇家大學畢業論文v3.doc wupeiqi 武沛奇幫我修改論文 7/13 9:51
4 美國皇家大學畢業論文v4.doc mjj 馬金聚幫我修改論文 7/14 15:17

 

GIT簡介 xml

集中式和分佈式版本控制

Linus一直痛恨的CVS及SVN都是集中式的版本控制系統,而Git是分佈式版本控制系統,集中式和分佈式版本控制系統有什麼區別呢?blog

先說集中式版本控制系統,版本庫是集中存放在中央服務器的,而幹活的時候,用的都是本身的電腦,因此要先從中央服務器取得最新的版本,而後開始幹活,幹完活了,再把本身的活推送給中央服務器。中央服務器就比如是一個圖書館,你要改一本書,必須先從圖書館借出來,而後回到家本身改,改完了,再放回圖書館。開發

集中式版本控制,典型表明SVNit

集中式版本控制系統最大的毛病就是必須聯網才能工做,若是在局域網內還好,帶寬夠大,速度夠快,可若是在互聯網上,遇到網速慢的話,可能提交一個10M的文件就須要5分鐘,這還不得把人給憋死啊。io

並且若是集中式版本服務器宕機了,全部人都無法工做。

 

分佈式版本控制

分佈式版本控制,沒有中央服務器的概念,每一個人都有本身的版本庫,所以每一個人在工做時候,不須要聯網,版本庫本地便可管理。

既然每一個人都是一個完整的版本庫,同事之間若是須要協做開發,就須要找一個用於「交換文件」的中央服務器,這個服務器不存在也不影響你們幹活,只是用於交換文件內容。

GIT最強大的功能還有分支管理,遠甩SVN等軟件。

 

 

 

 
 

 

相關文章
相關標籤/搜索