SVN是Apache Subversion的簡稱,Git則是英文俚語裡的混蛋。
這兩個雖然都是版本管理控制的系統,都是同樣的開放原始碼,但是SVN是集中式的管理,而Git則是分散式的管理。
所謂的集中式管理就是將撰寫完成的程式碼統一由同一台伺服器儲存,所以同在一家公司卻在不同專案裡的程式人員,都只針對那一台伺服器上傳更新後的程式碼與下載覆蓋舊有的程式碼。那如果是在不同的環境,就會在主要的專案上面開分支,並且重新將專案匯出在別的資料夾上,若之後專案結束要合併的話,就會從之前的上傳紀錄裡去找出可以上線的版本來做合併。
而分散式管理指的就是版本的控制最主要的地方都是在你自己電腦裡的資料夾,只要不將專案推送至伺服器上,不管你怎麼修改,都是本機硬碟的事情,若將專案下載至本機的資料夾時發生衝突,要修改的也會是本機裡的專案。
以上就是這兩種版本控制最大的差異,其他的地方大多是大同小異。我覺得啦!
資料來源:
維基百科:Subversion
維基百科:git