對比了解Git和SVN

2021-09-06 09:37:42 字數 1916 閱讀 9864

在日常的運維工作中,經常會用到版本控制系統,目前用的最廣泛的版本管理工具就是git和svn,接下來我通過對比git和svn的方法來了解一下。
一、簡介

svn是subversion的簡稱,是乙個開放源**的版本控制系統,相較於rcs、cvs,它採用了分支管理系統,它的設計目標就是取代cvs。網際網路上很多版本控**務已從cvs遷移到subversion。說得簡單一點svn就是用於多個人共同開發同乙個專案,共用資源的目的。

git是乙個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的專案版本管理。

二、特點

svn是集中式版本管理系統。

集中式的版本控制系統都有乙個單一的集中管理的伺服器,儲存所有檔案的修訂版本,而協同工作的人們都通過客戶端連到這台伺服器,取出最新的檔案或者提交更新。

svn的特點概括起來主要由以下幾條:

1)每個版本庫有唯一的url(官方位址),每個使用者都從這個位址獲取**和資料;

2)獲取**的更新,也只能連線到這個唯一的版本庫,同步以取得最新資料;

3)提交必須有網路連線(非本地版本庫);

4)提交需要授權,如果沒有寫許可權,提交會失敗;

5)提交並非每次都能夠成功。如果有其他人先於你提交,會提示「改動基於過時的版本,先更新再提交」… 諸如此類;

6)衝突解決是乙個提交速度的競賽:手快者,先提交,平安無事;手慢者,後提交,可能遇到麻煩的衝突解決。

git是分布式的版本管理系統。

在分布式版本控制系統中,客戶端並不只提取最新版本的檔案快照,而是把原始的**倉庫完整地映象下來。這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何乙個映象出來的本地倉庫恢復。這類系統都可以指定和若干不同的遠端**倉庫進行互動。籍此,你就可以在同乙個專案中,分別和不同工作小組的人相互協作。你可以根據需要設定不同的協作流程。

git特點:

1)git中每個轉殖(clone)的版本庫都是平等的。你可以從任何乙個版本庫的轉殖來建立屬於你自己的版本庫,同時你的版本庫也可以作為源提供給他人,只要你願意。

2)git的每一次提取操作,實際上都是一次對**倉庫的完整備份。

3)提交完全在本地完成,無須別人給你授權,你的版本庫你作主,並且提交總是會成功。

4)甚至基於舊版本的改動也可以成功提交,提交會基於舊的版本建立乙個新的分支。

5)git的提交不會被打斷,直到你的工作完全滿意了,push給他人或者他人pull你的版本庫,合併會發生在pull和push過程中,不能自動解決的衝突會提示您手工完成。

6)衝突解決不再像是svn一樣的提交競賽,而是在需要的時候才進行合併和衝突解決。

三、功能

svn 的主要功能

svn屬於集中化的版本控制系統, svn使用起來有點像是檔案倉庫的感覺,支援並行讀寫檔案,支援**的版本化管理,功能包括取出、匯入、更新、分支、改名、還原、合併等。

git的主要功能

git是乙個分布式版本控制系統,操作命令包括:clone,pull,push,branch ,merge ,push,rebase,git擅長的是程式**的版本化管理。

四、優缺點

svn 的優缺點**

svn對中文支援好,操作簡單,使用沒有難度,美工人員,產品人員,測試人員,實施人員都可輕鬆上手。使用介面統一,功能完善,操作方便。svn大都採用圖形介面操作,直觀,上手快。svn更適用於專案管理。

git的優缺點

對程式源**進行差異化的版本管理,**庫佔極少的空間。易於**的分支化管理。不支援中文,圖形介面支援差,使用難度大。不易推廣。git僅適用於**管理。

對比了解Grafana與Kibana的關鍵差異

我們身處海量資料的包圍之中已成眾所周知的事實。即使你管理的是乙個單獨的linux伺服器,那麼帶著問題一發生就能檢測出來並採取措施的目的去管理所有日誌時也會遇到問題。問題有多大取決於環境的規模 每台主機的職責 已經安裝的服務以及正在使用的協議。當然,日誌資料能讓我們更好地洞察檢測模式,當資訊以視覺化的...

對比了解Grafana與Kibana的關鍵差異

喜歡 作者 asaf yigal 譯者 冬雨 智慧型化運維 serverless devops.2017年有哪些最新運維技術趨勢?cnutcon即將為你揭秘 1 討論 我們身處海量資料的包圍之中已成眾所周知的事實。即使你管理的是乙個單獨的linux伺服器,那麼帶著問題一發生就能檢測出來並採取措施的目...

對比了解Grafana與Kibana的關鍵差異

我們身處海量資料的包圍之中已成眾所周知的事實。即使你管理的是乙個單獨的linux伺服器,那麼帶著問題一發生就能檢測出來並採取措施的目的去管理所有日誌時也會遇到問題。問題有多大取決於環境的規模 每台主機的職責 已經安裝的服務以及正在使用的協議。當然,日誌資料能讓我們更好地洞察檢測模式,當資訊以視覺化的...