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