1. 程式人生 > >版本管理(一)之Git和GitHub的區別(優點和缺點)

版本管理(一)之Git和GitHub的區別(優點和缺點)

機制 最大 客戶 內核 文件 敏捷 star 一定的 sch

Git 簡介

技術分享圖片

https://www.yiibai.com/git/getting-started-git-basics.html

Git 是一個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。

Git Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。

Git 與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫的方式,不必服務器端軟件支持。

Git是目前世界上最先進的分布式版本控制系統(沒有之一)。

Git 與 SVN 區別

GIT不僅僅是個版本控制系統,它也是個內容管理系統(CMS),工作管理系統等。

如果你是一個具有使用SVN背景的人,你需要做一定的思想轉換,來適應GIT提供的一些概念和特征。

Git SVN 區別點:

1GIT是分布式的,SVN不是:這是GIT和其它非分布式的版本控制系統,例如SVNCVS等,最核心的區別。

2GIT把內容按元數據方式存儲,而SVN是按文件:所有的資源控制系統都是把文件的元信息隱藏在一個類似.svn,.cvs等的文件夾裏。

3GIT分支和SVN的分支不同:分支在SVN中一點不特別,就是版本庫中的另外的一個目錄。

4GIT沒有一個全局的版本號,而SVN有:目前為止這是跟SVN相比GIT缺少的最大的一個特征。

5GIT的內容完整性要優於SVN

GIT的內容存儲使用的是SHA-1哈希算法。這能確保代碼內容的完整性,確保在遇到磁盤故障和網絡問題時降低對版本庫的破壞。

1.SVN優缺點
優點:
1、 管理方便,邏輯明確,符合一般人思維習慣。
2、 易於管理,集中式服務器更能保證安全性。
3、 代碼一致性非常高。
4、 適合開發人數不多的項目開發。
缺點:
1、 服務器壓力太大,數據庫容量暴增。
2、 如果不能連接到服務器上,基本上不可以工作,看上面第二步,如果服務器不能連接上,就不能提交,還原,對比等等。
3、 不適合開源開發(開發人數非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明確的權限管理機制(例如分支訪問限制),可以實現分層管理,從而很好的解決開發人數眾多的問題。

2.Git優缺點
優點:
1、適合分布式開發,強調個體。
2、公共服務器壓力和數據量都不會太大。
3、速度快、靈活。
4、任意兩個開發者之間可以很容易的解決沖突。
5、離線工作。
缺點:
1、學習周期相對而言比較長。
2、不符合常規思維。
3、代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。

github 和 git的區別

git是一個分布式版本控制系統,不同類型的版本控制軟件還有svnmercurialvssSourceAnywhere等。

Github是一個集成了git的服務。它可以以網頁或者客戶端的形式,幫助用戶把git本地的數據提交到遠程的服務器裏。同樣的服務還有git oschinagit 京東git csdn。這些服務都是免費的。

版本管理(一)之Git和GitHub的區別(優點和缺點)