版本控制工具 git與svn 分布式vs集中式

2021-08-29 03:03:29 字數 1469 閱讀 3198

版本控制:即記錄乙個或若干檔案內容變化,以便將來查閱特定版本修訂情況以及回溯的系統。

subversion的特點:

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

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

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

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

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

6衝突解決是乙個提交速度的競賽:手快者,先提交,平安無事;手慢者,後提交,可能衝突.(建議每次提交前update);

git ,開源的分布式版本控制系統,是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體。分布式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過轉殖(git clone),在本地機器上拷貝乙個完整的git倉庫。

git的特點:

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

2.git的每一次提取操作,實際上都是一次對**倉庫的完整備份。提交完全在本地完成,無須別人給你授權,你的版本庫你作主,並且提交總是會成功。

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

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

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

svn優點:

1、 管理方便,邏輯明確,符合一般人思維習慣。

2、 易於管理,集中式伺服器更能保證安全性。

3、 **一致性非常高。

4、 適合開發人數不多的專案開發。

缺點:1、 伺服器壓力太大,資料庫容量暴增。

2、 如果不能連線到伺服器上,基本上不可以工作,看上面第二步,如果伺服器不能連線上,就不能提交,還原,對比等等。

3、 不適合開源開發(開發人數非常非常多)。但是一般集中式管理的有非常明確的許可權管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數眾多的問題。

git優點:

1、適合分布式開發,強調個體。

2、公共伺服器壓力和資料量都不會太大。

3、速度快、靈活。

4、任意兩個開發者之間可以很容易的解決衝突。

5、離線工作。

缺點:1、學習週期相對而言比較長。

2、不符合常規思維。

3、**保密性差,一旦開發者把整個庫轉殖下來就可以完全公開所有**和版本資訊。

工具沒有好壞,只有適不適合;集中式在傳統的企業團隊開發裡優勢明顯(推廣成本,安全性),而分布式面向開源專案,或者工作機制比較自由的團隊,個人。

版本控制工具(SVN與Git)

在工作及專案開發中,接觸到了兩種版本控制工具 git和svn,兩者沒有孰優孰好,在不同的應用場景有著各自的優勢。兩者的部分差異在於 總體來說在實際應用中,git適用於各類開源 的版本控制管理 本身就是為linux核心的版本控制而生 而svn適用於含有大量二進位制檔案的各類專案整體的版本控制管理 老牌...

版本控制Git與SVN

可以協同 管理,讓多人開發 得以實現。回歸到以前的任何乙個時間點的 處 好比 開始寫了很多 後面有修改了一些,突然ide崩潰,但是發現還是以前的 更好,這個時候無法回去,這個時候沒有後悔藥吃,但是可以使用版本備份,但是即花費空間和花費時間 由於上面的版本備份造成版本眾多,難於找到正確的版本 svn有...

版本控制工具 SVN

學習svn的 svn入門使用 伺服器 tigris svn 客戶端 tortoise svn 伺服器的搭建 tigris svn server 1.6.5 2 建立中心庫 svnadmin create d share svnrepo 3 修改許可權配置 修改conf svnserve.conf 檔...