版本管理工具之Git 和SVN

Linda0821發表於2019-01-18

1.簡介
Git 是一個免費並且開源的分散式版本控制系統,被設計用來快速高效的管理一切從小到大的專案。

SVN是一個開源的集中式版本控制系統。這些資料放置在一箇中央資料檔案庫(repository) 中。 這個檔案庫很像一個普通的檔案伺服器, 不過它會記住每一次檔案的變動。 這樣你就可以把檔案恢復到舊的版本, 或是瀏覽檔案的變動歷史。

2.區別
集中式 VS 分散式

那麼什麼是集中式版本控制系統,什麼又是分散式版本控制系統呢?這兩者又有什麼區別呢?

首先先說集中式版本控制系統,它的版本庫是存放在中央伺服器,但是開發人員用的都是自己的電腦,所以在幹活之前,開發人員需要先從中央伺服器獲取最新的程式碼,然後才可以工作。工作完了,再把新程式碼傳到中央伺服器去。

它最大的缺點就是必須聯網才可以幹活,沒網就可以回家睡覺了。而且如果網速慢的話,你想要把程式碼從伺服器下載下來或者提交程式碼到伺服器都會非常慢。

那麼分散式版本控制系統又有何不同呢?首先所謂的分散式版本控制系統,沒有所謂的 “中央伺服器” 一說,因為每一臺電腦上都有一個完整的版本庫,每一臺電腦理論上都可以是“中央伺服器”。因為每一臺電腦都有一個完整的版本庫,所以工作時並不需要聯網。如果是團隊協作的話,只需要把修改的檔案推送給對方即可。

那麼有的人會說,既然如此,為何還有 Git 伺服器?其實這個伺服器只是非常穩定,24 小時開機,為了方便團隊之間不同的人交換大家的修改而已。沒有它一樣可以正常的工作,而集中式便不行。所以在安全性上也是分散式的更好,如果某一臺電腦壞了,只需要拷貝一份版本庫即可。而集中式的伺服器如果出了故障那就是很大的問題了。

當然 Git 相比於 SVN 這種集中式版本控制系統,並不僅有這一點優勢,Git 強大的分支管理,快速、高效的處理,便捷的使用,這些優勢在我的教程中你會慢慢感受到!

3.擴充
GitHub 是一個利用 Git 進行版本控制、專門用於存放軟體程式碼與內容的共享虛擬主機服務。

Github 社群 – :[ https://github.com]

相關文章