現在的開發工作都是由團隊合作來完成開發,通常都是團隊中的每個人或者每幾個人完成一個子產品的開發,最後再将子產品拼湊起來,形成一個完整的項目,這就涉及到了協同開發。在各個子產品的開發過程中,肯定會因為出現BUG或者需求更改,而進行代碼的修改甚至重構的,代碼每修改一次就相當于疊代了一次版本,一個完整的項目中通常會有多個子產品,如果每個子產品的開發過程中都會修改或重構代碼,那麼如果沒有一個平台來管理、控制這些代碼,肯定會造成代碼混亂的局面。是以這時候就有了一個概念:版本控制,代碼管理平台的主要功能就是進行版本的控制,以及記錄代碼修改、版本疊代的曆史資訊。
版本控制,記錄若幹檔案内容變化,以便将來查閱特定版本修訂情況
svn全稱subversion,是一個開源版本控制系統,始于2000年
git是linux創始人linus發起的,2005年釋出,最初目的是更好管理linux核心代碼
git和svn不同在于:svn是集中型的,有一個中心的服務端,而git是分散型的,git不需要依賴服務端就可以工作,即git是分布式的
github是基于git的線上web頁面代碼托管平台,公開庫是免費的,而私有庫則是付費服務
gitlab可以認為是一個開源的github,兩者沒有直接關系
安裝指令:
yum install -y subversion
建立版本庫:
完成以上配置後,啟動svn服務:
我這裡使用兩台機器作為測試的用戶端。
用戶端也需要安裝subversion:
在用戶端A中檢出服務端的myproject版本庫:
在用戶端B中也是如上操作,就不贅述了。
在用戶端B上随便拷貝個檔案到檢出來的版本庫裡,然後上傳到服務端:
在用戶端A上同步服務端的檔案,這時就會同步剛剛用戶端B上傳的檔案:
删除本地檔案:
删除服務端的檔案:
檢視變更日志:
本文轉自 ZeroOne01 51CTO部落格,原文連結:http://blog.51cto.com/zero01/2059913,如需轉載請自行聯系原作者