git和svn對(duì)比

因?yàn)樽罱驹诟鼡Q源代碼管理工具,所以在此對(duì)git和svn進(jìn)行了對(duì)比

1.Git和SVN一樣都有自己的集中式版本庫或者服務(wù)器。每個(gè)開發(fā)者會(huì)從版本庫或者服務(wù)器check out代碼到本地,會(huì)在本地克隆一個(gè)和中心版本庫一模一樣的本地版本庫,所以再也不用擔(dān)心斷網(wǎng)了沒辦法提交代碼了。
2.克隆代碼:git會(huì)比svn快很多(在svn上克隆UI的文件,花了10分鐘,不知道是網(wǎng)絡(luò)的導(dǎo)致還是怎么了)
3.對(duì)比歷史版本:svn需要聯(lián)網(wǎng)才能看到歷史版本對(duì)比,git不需要,因?yàn)間it在本地保存著當(dāng)前項(xiàng)目的所有歷史更新。如果需要看N個(gè)版本之前的代碼對(duì)比,git會(huì)去取出N個(gè)版本之前的代碼和當(dāng)前的代碼進(jìn)行對(duì)比
4.提交代碼:svn需要在聯(lián)網(wǎng)的情況下才能提交代碼,git不需要,git是先commit到本地倉庫,然后在有網(wǎng)的時(shí)候再push到服務(wù)器
5.分支:??上面的一些區(qū)別主要是在沒有網(wǎng)絡(luò)情況下git會(huì)比svn有優(yōu)勢(shì),但是呢,在公司辦公的話沒有網(wǎng)絡(luò)或者服務(wù)器斷電的情況還是比較少的。來了解下git和svn最重要的區(qū)別:分支
在svn上:分支是一個(gè)完整的目錄,而且這個(gè)目錄擁有完整的實(shí)際文件。A開啟了分支,Bupadate的時(shí)候也會(huì)擁有A一樣的分支,如果A改壞了分支,那么B也就得重新切分支重新下載。
而且如果想知道是否合并了一個(gè)分支,需要手動(dòng)運(yùn)行像這樣的命令svn propget svn:mergeinfo,來確認(rèn)代碼是否被合并。
git:在本地版本庫可以切換想要的分支,只要不提交到主要的版本庫,就不會(huì)影響到其他的伙伴。
舉個(gè)??:1.0版本已經(jīng)提交上線,主分支上建立分支A開發(fā)2.0的版本,突然1.0版本有生產(chǎn)問題,那么就可以切回到主分支,在主分支建立一個(gè)新的分支B,在B分支修復(fù)生產(chǎn)問題,等待測試通過,會(huì)到主分支,并將B分支合并過來,push到遠(yuǎn)程倉庫。再切換到之前開發(fā)階段的A分支,這樣就可以保證開發(fā)進(jìn)度不會(huì)受到影響。

實(shí)際上svn和git兩個(gè)合并在提交到遠(yuǎn)程服務(wù)器上的操作是一樣的,有沖突改沖突,沒有沖突自動(dòng)合并。git的便捷在于有本地倉庫,輕松的建立分支,非常容易的切換分支,也不會(huì)影響到其他的伙伴。別人提交到主干的東西合并到自己的分支來。這樣做的好處在于沖突不會(huì)太多,然后將自己改好的功能分支合并到主干。

git相對(duì)于svn的缺點(diǎn):

1.學(xué)習(xí)成本:現(xiàn)在公司使用的代碼管理工具是svn,所以如果切換到git還是需要一定的學(xué)習(xí)成本的
2.跨平臺(tái):查資料說對(duì)windows的用戶不太友好,但是問過周邊使用過git的用戶,也有圖形化使用工具,用法和svn差不多,具體如何還有待考證
3.對(duì)于技術(shù)來說,可能Git比較好用,但是對(duì)于其他的同事來說,使用git去管理文件體驗(yàn)不太好。咨詢過周圍的測試還有設(shè)計(jì),都是使用svn。開發(fā)用git比較多。
4.權(quán)限管理:svn的權(quán)限管理相當(dāng)嚴(yán)格,按照組、個(gè)人某個(gè)目錄都有權(quán)限控制,git沒有嚴(yán)格的權(quán)限管理,沒有任何的保護(hù)機(jī)制。

總結(jié):

1.站在個(gè)人的角度來說,比較喜歡用git,因?yàn)闀?huì)很方便的管理代碼,當(dāng)有線上問題的時(shí)候,或者某一個(gè)版本未上線正在測試階段,進(jìn)行下一個(gè)版本的開發(fā),會(huì)感覺很方便。
2.從公司的角度出發(fā),建議使用svn,因?yàn)槲覀儸F(xiàn)在的項(xiàng)目并不多,同時(shí)迭代版本好像也不多,沒有很高頻次的協(xié)同合作,所以對(duì)于技術(shù)來說svn是夠用的,當(dāng)然不排除以后公司的快速發(fā)展是需要協(xié)同合作,多個(gè)迭代同時(shí)進(jìn)行的。上面也提到過對(duì)于非技術(shù)人員來說git的用戶體驗(yàn)不太好,但是具體如果還有待考察。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/。)是一個(gè)開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,933評(píng)論 0 13
  • 2017.7.24-28 周一至周五 這一周每天上午都在給孩子們講繪本故事,每天的故事還會(huì)給他們一些拓展的知識(shí)點(diǎn)。...
    蝸牛小于閱讀 332評(píng)論 0 0
  • 原料配料: 豬肉(前后腿最佳)10千克,花椒(炒后用)40克,丁香25克,砂仁15克,邊桂15克(用桂皮,肉桂味道...
    Cindy的小花園閱讀 3,455評(píng)論 0 0
  • 關(guān)于眉毛的詞有好多,眉清目秀、眉開眼笑、喜上眉梢、巾幗須眉……小小的眉毛,在整個(gè)容貌上,有著非同小可的重要性! ...
    圓圓2408閱讀 356評(píng)論 0 0
  • 為什么我還活著?——評(píng)李曉紅《生命的思考》 作者:陳師明,我的原創(chuàng)公眾號(hào):獨(dú)孤風(fēng)子(ID:Newbacon007)...
    獨(dú)孤風(fēng)子閱讀 1,044評(píng)論 1 2

友情鏈接更多精彩內(nèi)容