日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SVN和Git的比较

發(fā)布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SVN和Git的比较 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近開始學(xué)Git,跟以前常用的SVN來做個對比,以便對雙方的優(yōu)缺點(diǎn)了解更多些。

其實(shí)Git和SVN還是挺像的,都有提交,合并等操作,看來這是源碼管理工具的基本操作。


1. Git是分布式的,SVN是集中式的,好處是跟其他同事不會有太多的沖突,自己寫的代碼放在自己電腦上,一段時間后再提交、合并,也可以不用聯(lián)網(wǎng)在本地提交;

2. Git下載下來后,在本地不必聯(lián)網(wǎng)就可以看到所有的log,很方便學(xué)習(xí),SVN卻需要聯(lián)網(wǎng);

3. Git鼓勵分Branch,而SVN,說實(shí)話,我用Branch的次數(shù)還挺少的,SVN自帶的Branch merge我還真沒用過,有merge時用的是Beyond Compare工具合并后再Commit的;

4. Tortoise也有出Git版本,真是好東西;

5. SVN在Commit前,我們都建議是先Update一下,跟本地的代碼編譯沒問題,并確保開發(fā)的功能正常后再提交,這樣其實(shí)挺麻煩的,有好幾次同事沒有先Updata,就
Commit了,發(fā)生了一些錯誤,耽誤了大家時間,Git可能這種情況會少些。


大家也可以搜一搜Git和SVN命令的比對。


下面有一篇文章這樣討論,樓主認(rèn)為SVN沒什么用,我比較認(rèn)同Ghoststears的觀點(diǎn)。

有了GIT,SVN純粹一垃圾?

Ghoststears:

任何事情,歸根結(jié)底都是人的問題,工具只是工具。

SVN 是集中式的,會出現(xiàn)你說的耦合。但從另外一個方面來說,這也要求開發(fā)人員代碼的規(guī)范:不要一個函數(shù)干很多事情,不要一個文件寫很多個類。

另外,將不可運(yùn)行的代碼提交到任何版本控制系統(tǒng)中都是沒有意義的。這也就是版本控制的核心思想之一。也就是提交的粒度:原子性。所謂的原子性,也就是完成一件任務(wù),這個任務(wù)可以是一個函數(shù)聲明,也可以是一個函數(shù)的實(shí)現(xiàn),亦或是一個子系統(tǒng)。但這個任務(wù)的完成的標(biāo)志就是代碼可以運(yùn)行,不能運(yùn)行的代碼,最多也就是完成了半個任務(wù)。這個是不符合版本控制思想的。試想,你 update 到某一個 version 的時候,代碼竟然是不能運(yùn)行的,是何心情???

將不能運(yùn)行的代碼提交,完全是開發(fā)人員素質(zhì)或者公司管理流程、機(jī)制的問題。

另外,很多人都強(qiáng)調(diào):我晚上下班了要在家里干活,不能提交!!!來抨擊集中式版本控制工具。且不說對待工作和生活態(tài)度。先看看國內(nèi)的企業(yè),防員工如防賊的多的去了。有多少人能帶著筆記本,把公司的源代碼簽出來呢???

版本控制系統(tǒng)中,工具只是其中一環(huán)。要結(jié)合公司的策略來選用合適的工具。版本控制 != 版本控制工具 !!!= 源代碼管理。

最后,人各有喜好。上綱上線的,完全沒有必要。


總結(jié)

以上是生活随笔為你收集整理的SVN和Git的比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。