是什么(What)
- Git是一個(gè)自由開放源碼的分布式版本控制系統(tǒng),用于處理從小型到大型項(xiàng)目的速度和效率 宽涌。- 官網(wǎng)
- Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒有之一)消返。-廖雪峰
也許你會問什么是版本控制系統(tǒng)呢偏陪?
版本控制是記錄一種或若干個(gè)文件內(nèi)容發(fā)生變化汇在,以便將來查閱特定版本修訂情況的系統(tǒng)
誰提出了(Who)
Linus花了兩周時(shí)間自己用C寫了一個(gè)分布式版本控制系統(tǒng),這就是Git
為什么提出Git(Why)
在Git被提出之前琢感,已經(jīng)有集中式版本控制系統(tǒng)丢间,如SVN、CVS等驹针。那為什么要提出Git呢烘挫?
因?yàn)長inus堅(jiān)定地反對CVS和SVN,這些集中式的版本控制系統(tǒng)不但速度慢,而且必須聯(lián)網(wǎng)才能使用饮六。有一些商用的版本控制系統(tǒng)其垄,雖然比CVS、SVN好用卤橄,但那是付費(fèi)的绿满,和Linux的開源精神不符。
這塊提到一個(gè)集中式版本控制系統(tǒng)和分布式控制系統(tǒng)窟扑,他兩的區(qū)別是什么呢喇颁?
集中式版本控制系統(tǒng),版本庫是集中存放在中央服務(wù)器的嚎货,而干活的時(shí)候橘霎,用的都是自己的電腦,所以要先從中央服務(wù)器取得最新的版本殖属,然后開始干活姐叁,干完活了,再把自己的活推送給中央服務(wù)器洗显。中央服務(wù)器就好比是一個(gè)圖書館外潜,你要改一本書,必須先從圖書館借出來墙懂,然后回到家自己改,改完了扮念,再放回圖書館损搬。
集中式版本控制系統(tǒng)最大的毛病就是必須聯(lián)網(wǎng)才能工作。
分布式版本控制系統(tǒng)根本沒有“中央服務(wù)器”柜与,每個(gè)人的電腦上都是一個(gè)完整的版本庫巧勤,這樣,你工作的時(shí)候弄匕,就不需要聯(lián)網(wǎng)了颅悉,因?yàn)榘姹編炀驮谀阕约旱碾娔X上。既然每個(gè)人電腦上都有一個(gè)完整的版本庫迁匠,那多個(gè)人如何協(xié)作呢剩瓶?比方說你在自己電腦上改了文件A,你的同事也在他的電腦上改了文件A城丧,這時(shí)延曙,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了亡哄。
特點(diǎn)(How)
優(yōu)點(diǎn)
- 離線狀態(tài)
- 速度快
- 自由選擇工作方式
- 模塊化
- 可以回退
缺點(diǎn)
目前枝缔,在我用Git的過程中,沒有覺得不好的地方蚊惯。