平時(shí)用git比較多缴啡,突然老師讓裝SVN壁晒,所以就了解了一下git和svn的區(qū)別
Git是分布式,但是Svn不是
Git
跟Svn
一樣有自己的集中式版本庫(kù)和Server端业栅,但Git
更傾向于分布式開發(fā)秒咐,即使沒有網(wǎng)絡(luò)也一樣可以Commit,查看歷史版本記錄碘裕,創(chuàng)建項(xiàng)目分支等操作反镇,等網(wǎng)絡(luò)再次連接上Push到Server端。
Git把內(nèi)容按元數(shù)據(jù)方式存儲(chǔ)娘汞,而Svn是按文件
Git
和Svn
都是把文件的元信息隱藏在一個(gè).git
和.svn
文件夾里。.git
目錄是處于你的機(jī)器上的一個(gè)克隆版的版本庫(kù)夕玩,它擁有中心版本庫(kù)上所有的東西你弦,例如標(biāo)簽惊豺,分支,版本記錄等禽作。所以.git
文件和.svn
文件相比大很多尸昧。
分支不同
Svn
的分支是一個(gè)完整的目錄,如果工作成員想要開啟新的分支旷偿,那將會(huì)影響整個(gè)項(xiàng)目烹俗,每個(gè)人都會(huì)擁有和你一樣的分支。而Git
可以隨意創(chuàng)建分支萍程,只要不合并到master
分支幢妄,則并不會(huì)影響到其他人,不想要的時(shí)候可以直接刪掉茫负。
Git的內(nèi)容完整性要優(yōu)于Svn
Git
的內(nèi)容存儲(chǔ)使用的是SHA-1哈希算法蕉鸳。這能確保代碼內(nèi)容的完整性,確保在遇到磁盤故障和網(wǎng)絡(luò)問題時(shí)降低對(duì)版本庫(kù)的破壞忍法。
版本庫(kù)
Svn
只能有一個(gè)指定中央版本庫(kù)潮尝。當(dāng)這個(gè)中央版本庫(kù)有問題時(shí),所有工作成員都一起癱瘓直到版本庫(kù)維修完畢或者新的版本庫(kù)設(shè)立完成饿序。而 Git
可以有無限個(gè)版本庫(kù)勉失。
感覺比較常用到的點(diǎn)就這些了吧,歡迎提出您寶貴的意見原探。