https://www.yiibai.com/git/getting-started-git-basics.htmlhtml
Git 是一個開源的分佈式版本控制系統,用於敏捷高效地處理任何或小或大的項目。git
Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。github
Git 與經常使用的版本控制工具 CVS, Subversion 等不一樣,它採用了分佈式版本庫的方式,沒必要服務器端軟件支持。算法
Git是目前世界上最早進的分佈式版本控制系統(沒有之一)。數據庫
GIT不單單是個版本控制系統,它也是個內容管理系統(CMS),工做管理系統等。安全
若是你是一個具備使用SVN背景的人,你須要作必定的思想轉換,來適應GIT提供的一些概念和特徵。服務器
Git 與 SVN 區別點:網絡
1、GIT是分佈式的,SVN不是:這是GIT和其它非分佈式的版本控制系統,例如SVN,CVS等,最核心的區別。app
2、GIT把內容按元數據方式存儲,而SVN是按文件:全部的資源控制系統都是把文件的元信息隱藏在一個相似.svn,.cvs等的文件夾裏。yii
3、GIT分支和SVN的分支不一樣:分支在SVN中一點不特別,就是版本庫中的另外的一個目錄。
4、GIT沒有一個全局的版本號,而SVN有:目前爲止這是跟SVN相比GIT缺乏的最大的一個特徵。
5、GIT的內容完整性要優於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、代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息。
git是一個分佈式版本控制系統,不一樣類型的版本控制軟件還有svn,mercurial,vss,SourceAnywhere等。
Github是一個集成了git的服務。它能夠以網頁或者客戶端的形式,幫助用戶把git本地的數據提交到遠程的服務器裏。一樣的服務還有git oschina,git 京東,git csdn。這些服務都是免費的。