日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【转】SVN 与 GIT 详细对比

發布時間:2025/3/18 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】SVN 与 GIT 详细对比 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【轉】SVN 與 GIT 詳細對比

git和svn的詳細對比

? ? ? ??近期就【版本管理工具是否進行切換SVN->Git】的問題進行了討論,于是對svn和Git進行了相關研究,進而梳理出Git的特點(優、缺點),最后將Git與SVN進行了對比,對比結果詳見下方內容。(有歧義的地方請評論指出!!!,THANKS)

??????????? 版本工具

差異

svn

git

系統

1.集中式版本控制系統(更適用于項目文檔管理)

2.更多用于企業內部項目并行開發

1.分布式系統(僅適用于代碼管理)

2.更多用于通過開源項目開發

靈活性

1.搭載svn的服務器出現故障,無法與之交互
2.所有的svn操作都需要中央倉庫交互(例:拉分支,看日志等)

1.可以單機操作,git服務器故障也可以在本地git倉庫工作
2.除了push和pull(或fetch)操作,其他都可以在本地操作
3.根據自己開發任務任意在本地創建分支
4.日志都是在本地查看效率較高

安全性

較差,定期備份,并且是整個svn都得備份

較高,每個開發者的本地就是一套完整版本庫,記錄著版本庫的所有信息(gitlab集成了備份功能)

分支方面

1.拉分支更像是copy一個路徑
2.可針對任何子目錄進行branch
3.拉分支的時間較慢,因為拉分支相當于copy
4.創建完分支后,影響全部成員,每個人都會擁有這個分支

5.多分支并行開發較重(工作較多而且繁瑣)

1.只能針對整個倉庫進行branch,一旦刪除無法恢復
2.拉分支時間較快,因為拉分支只是創建文件的指針和HEAD
3.自己本地創建的分支不會影響其他人

4.比較適合多分支并行開發

版本控制

1.保存前后變化的差異數據,作為版本控制
2.版本號進行控制,每次操作都會產生一個高版本號(svn的全局版本號)

1.git只關心文件數據的整體發生變化,更像是把文件做快照,文件沒有改變時,分支只想這個文件的指針不會改變,文件發生改變,指針指向新版本
2. 40 位長的哈希值作為版本號,沒有先后之分

3.git rebase操作可以更好的保持提交記錄的整潔

工作流程

1.每次更改文件之前都得update操作,有的時候修改過程中這個文件有更新,commit不會成功
2.有沖突,會打斷提交動作(沖突解決是一個提交速度的競賽:手快者,先提交,平安無事;手慢者,后提交,可能遇到麻煩的沖突解決。)

1.開始工作前進行fetch操作,完成開發工作后push操作,有沖突解決沖突
2.git的提交過程不會被打斷,有沖突會標記沖突文件

3.gitflow流程(經典)

內容管理

svn對中文支持好,操作簡單,適用于大眾

對程序的源代碼管理方便,代碼庫占用的空間少,易于分支化管理

學習成本

1.適用于普通的開發團隊,使用起來更方便,成本較低

1.適用于開發者,水平高,更在乎效率而不是易用性,成本較高

權限管理

svn的權限管理相當嚴格,可以按組、個人針對某個子目錄的權限控制

git沒有嚴格的權限管理控制,只有賬號角色劃分

管理平臺

有吧(注意這個“吧”字)

gitlab(建議使用,集成的功能較多,API開發),gerrit,github等

posted on 2018-03-25 12:22 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的【转】SVN 与 GIT 详细对比的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。