公司項目最近從svn更換到了git,不捨得那適應沒多久的svn分支開發,但畢竟不排斥更好的工具。你們都說git比svn好用,雖然在我接觸git與svn的時間內,我也下意識以爲git好用,但真正運用到實際開發項目的也就只有svn,git只是獨自一人拿來過家家而已,總算是有機會嘗試比較一下了。git
svn圖形操做有TortoiseSVN,而git圖形操做有SourceTree,相比較來講,TortoiseSVN老是要右鍵去提交更新查看,log也只是顯示了提交狀況,而SourceTree有一個完整的界面,提交合並狀況也顯示得很清晰明瞭,特別是分支的操做狀況。不只如此,git還有簡單強大的命令行,有大部分的人都會選擇用git命令進行操做。相比之下,我想svn應該是沒有幾我的想去用svn的命令吧。印象裏我接觸過一次命令,而後接觸了TortoiseSVN就再也沒有使用過svn的命令了,由於圖形操做更加便捷了。svn
git最強大之處在於它的分支管理,在本地你能夠隨意拉取分支,只要你喜歡,並且拉取的速度很快,它實際只是修改了一下指針。svn雖然也有分支管理,但它建立一條分支倒是先在遠程上建立,而後你才能checkout到本地,實際就是複製了一份如出一轍的代碼,項目大的話,checkout也得花點時間。實際上,git有幾條分支在本身的電腦上都是保留着一個目錄的代碼,隨着你切換分支,目錄裏的代碼會相應進行改變。svn則是你有幾條分支則本地電腦保存着幾份項目的代碼,偶爾可能找錯代碼。工具
在使用過TortoiseSVN以後切換到SourceTree不習慣的地方仍是有的,TortoiseSVN在項目的目錄裏的每個文件或文件夾都有提交或改動狀況,已提交則顯示一個綠色的勾勾,爲提交顯示紅色的叉叉,還有衝突狀況則顯示橙色的感嘆號。切換以後就再也看不到那些清晰明顯的小圖標了,一切都只能在SourceTree或命令行中查看,解決衝突時找起文件來也沒有那麼的方便。命令行
總的來講,git仍是比較適合多人之間的協做開發,由於它那強大的分支管理和簡單的命令。而svn適合項目人少的開發,分支不須要建立太多。SourceTree雖然直觀,可是git命令更加高效,結合二者一塊兒使用也是一個不錯的選擇。這篇文章不是來講git有多好,svn有多很差的,單純只是一個客觀的比較。蘿蔔青菜各有所愛,選擇適合本身項目的纔是最好的。現在項目也慢慢地切換到了git,感謝svn對項目的支持,最後,向即將逝去的svn致敬。指針