svn(集中式版本控制工具):
svn是subversion的簡稱,是乙個開源的版本控制i系統,支援大多數常見的作業系統。作為乙個開源的版本控制系統,svn管理著隨時間改變的資料。svn是乙個統用的系統,可用來管理任何型別的檔案,其中包括程式原始碼。
git(分布式版本控制工具):
git是乙個免費、開源的分布式版本控制工具,用於敏捷高效地處理任何或大或小的專案。git是乙個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的專案版本管理。
分布式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過轉殖(git clone),在本地機器上拷貝乙個完整的git倉庫。
區別:1.svn屬於集中化的版本控制工具,svn使用起來有點像是檔案倉庫的感覺,支援並行讀寫檔案,支援**的版本化管理,功能包括取出、匯入、更新、分支、改名、還原、合併等。
git是乙個分布式版本控制系統,操作命令包括:clone,pull,push,branch ,merge ,push,rebase,git擅長的是程式**的版本化管理。
2.git跟svn一樣有自己的集中式版本庫或伺服器。但git更傾向於使用於分布式模式,也就是每個開發人員從中心版本庫/伺服器上chect out**後會在自己的機器上轉殖乙個自己的版本庫。可以這樣說,如果你被困在乙個不能連線網路的地方時,就像在飛機上,地下室,電梯裡等,你仍然能夠提交檔案,檢視歷史版本記錄,建立專案分支,等。對一些人來說,這好像沒多大用處,但當你突然遇到沒有網路的環境時,這個將解決你的**煩。
3.git把內容按元資料方式儲存,而svn是按檔案。
4.git沒有乙個全域性的版本號,而svn有,這是git相比svn缺少的最大的乙個特徵。
5.git的內容完整性要優於svn,git的內容儲存使用的是sha-1雜湊演算法。這能確保**內容的完整性,確保在遇到磁碟故障和網路問題時降低對版本庫的破壞。
git優點:
1.分布式,每個參與開發的人的電腦上都有乙個完整的倉庫,不擔心硬碟出問題。
2.在不聯網的情況下,照樣可以提交到本地倉庫,可以檢視以往的所有log,等到有網的時候,push到遠端即可。
3.非常強大的分支管理功能。
4.git的內容的完整性要優於svn: git的內容儲存使用的是sha-1雜湊演算法。這能確保**內容的完整性,確保在遇到磁碟故障和網路問題時降低對版本庫的破壞。
5.對程式源**進行差異化的版本管理,**庫佔極少的空間。易於**的分支化管理。
git缺點:許可權管理不是很方便,需要安裝外掛程式gitolite,配置有點麻煩,或者直接使用gitlab管理。不支援中文,圖形介面支援差,使用難度大。不易推廣。
svn優點:
1.較好的許可權管理功能,可以精確控制每個目錄的許可權。
2.svn對中文支援好,操作簡單,使用沒有難度,美工人員,產品人員,測試人員,實施人員都可輕鬆上手。使用介面統一,功能完善,操作方便,比git簡單。
svn缺點:
1.集中式,如果中心伺服器出現問題,所有人都不能正常幹活,恢復也很麻煩,因為svn記錄的是每次改動的差異,不是完整檔案。
2.分支功能沒有git強大。
3.速度沒有git快,如果有五個分支,是把五個分支的檔案全部拷下來。
4.必須聯網才能commit。
版本控制工具(SVN與Git)
在工作及專案開發中,接觸到了兩種版本控制工具 git和svn,兩者沒有孰優孰好,在不同的應用場景有著各自的優勢。兩者的部分差異在於 總體來說在實際應用中,git適用於各類開源 的版本控制管理 本身就是為linux核心的版本控制而生 而svn適用於含有大量二進位制檔案的各類專案整體的版本控制管理 老牌...
版本控制 Git和SVN
一 git和svn的區別 git不僅僅是個版本控制系統,它也是個內容管理系統 cms 工作管理系統等。如果你是乙個具有使用svn背景的人,你需要做一定的思想轉換,來適應git提供的一些概念和特徵。所以,這篇文章的主要目的就是通過介紹git能做什麼 它和 svn在深層次上究竟有什麼不同來幫助你認識它。...
GIT和SVN版本控制
1.什麼是版本控制?版本控制最主要的功能就是追蹤檔案的變更。它將什麼時候 什麼人更改了檔案的什麼內容等資訊忠實地了已錄下來。每一次檔案的改變,檔案的版本號都將增加。除了記錄版本變更外,版本控制的另乙個重要功能是並行開發。軟體開發往往是多人協同作業,版本控制可以有效地解決版本的同步以及不同開發者之間的...