說起git自然想到SVN,我剛接觸到的版本控制工具是SVN,SVN是集中式版本控制系統,版本庫是集中放在中央服務器的,干活的時候,先要從中央服務器哪里得到最新的版本,干完活后,需要把自己做完的活推送到中央服務器。中央服務器就好比是一個圖庫,你要改一本書,必須先從圖庫借出來,然后回到家自己改,改完了,再放回圖庫。集中式版本控制系統是必須聯網才能工作,如果在局域網還可以,帶寬夠大,速度夠快,如果在互聯網下,如果網速慢的話,就耽誤事了。
Git是分布式版本控制系統,它沒有中央服務器的,每個人的電腦就是一個完整的版本庫,工作的時候就不需要聯網了,因為版本都是在自己的電腦上。既然每個人的電腦都有一個完整的版本庫,那多個人如何協作呢?比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。
和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦里都有完整的版本庫,某一個人的電腦壞掉了不要緊,隨便從其他人那里復制一個就可以了。而集中式版本控制系統的中央服務器要是出了問題,所有人都沒法干活了
