【转】SVN 与 GIT 详细对比
【轉(zhuǎn)】SVN 與 GIT 詳細(xì)對比
git和svn的詳細(xì)對比
? ? ? ??近期就【版本管理工具是否進(jìn)行切換SVN->Git】的問題進(jìn)行了討論,于是對svn和Git進(jìn)行了相關(guān)研究,進(jìn)而梳理出Git的特點(diǎn)(優(yōu)、缺點(diǎn)),最后將Git與SVN進(jìn)行了對比,對比結(jié)果詳見下方內(nèi)容。(有歧義的地方請評論指出!!!,THANKS)
| ??????????? 版本工具 | svn | git |
| 系統(tǒng) | 1.集中式版本控制系統(tǒng)(更適用于項目文檔管理) 2.更多用于企業(yè)內(nèi)部項目并行開發(fā) | 1.分布式系統(tǒng)(僅適用于代碼管理) 2.更多用于通過開源項目開發(fā) |
| 靈活性 | 1.搭載svn的服務(wù)器出現(xiàn)故障,無法與之交互 | 1.可以單機(jī)操作,git服務(wù)器故障也可以在本地git倉庫工作 |
| 安全性 | 較差,定期備份,并且是整個svn都得備份 | 較高,每個開發(fā)者的本地就是一套完整版本庫,記錄著版本庫的所有信息(gitlab集成了備份功能) |
| 分支方面 | 1.拉分支更像是copy一個路徑 5.多分支并行開發(fā)較重(工作較多而且繁瑣) | 1.只能針對整個倉庫進(jìn)行branch,一旦刪除無法恢復(fù) 4.比較適合多分支并行開發(fā) |
| 版本控制 | 1.保存前后變化的差異數(shù)據(jù),作為版本控制 | 1.git只關(guān)心文件數(shù)據(jù)的整體發(fā)生變化,更像是把文件做快照,文件沒有改變時,分支只想這個文件的指針不會改變,文件發(fā)生改變,指針指向新版本 3.git rebase操作可以更好的保持提交記錄的整潔 |
| 工作流程 | 1.每次更改文件之前都得update操作,有的時候修改過程中這個文件有更新,commit不會成功 | 1.開始工作前進(jìn)行fetch操作,完成開發(fā)工作后push操作,有沖突解決沖突 3.gitflow流程(經(jīng)典) |
| 內(nèi)容管理 | svn對中文支持好,操作簡單,適用于大眾 | 對程序的源代碼管理方便,代碼庫占用的空間少,易于分支化管理 |
| 學(xué)習(xí)成本 | 1.適用于普通的開發(fā)團(tuán)隊,使用起來更方便,成本較低 | 1.適用于開發(fā)者,水平高,更在乎效率而不是易用性,成本較高 |
| 權(quán)限管理 | svn的權(quán)限管理相當(dāng)嚴(yán)格,可以按組、個人針對某個子目錄的權(quán)限控制 | git沒有嚴(yán)格的權(quán)限管理控制,只有賬號角色劃分 |
| 管理平臺 | 有吧(注意這個“吧”字) | gitlab(建議使用,集成的功能較多,API開發(fā)),gerrit,github等 |
posted on 2018-03-25 12:22 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的【转】SVN 与 GIT 详细对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】闪电链效果
- 下一篇: IPHONE 64位和32位