2009-09 月份文章 顯示方式:簡文 | 列表

September 30,2009

git 的優點與缺點

這一陣子由於在公司安裝 redmine 這個 issue tracking system 的關係
被迫裝了 git 這個 source control system來裝相關的plugin。這玩意一開始看起來蠻複雜的,不過用久了之後其實還蠻好用的。

基本上,它的優點
  • 沒server也能用(1),裝完後它本身就是個完整的server+client,所以沒server你也可以直接在本地端建立repo來進行commit和branch等動作。
  • 沒server也能用(2),由於clone下來是完整的repo,所以也可以在本地端進行任何操作,包含roll back回之前的任何版本。你可以儘量的改,直到有網路之後再合併回去,而這中間你還是享有source control system帶來的便利。
  • 沒server也能用(3),local branch超好用,切換上也很方便跟直覺。而且branch時完全不用經過server,每次有什麼新想法想試的時候,不用擔心在server上造成垃圾。
  • 要export git file非常簡單,如果是svn,你有一堆.svn目錄要處理,如果是git,你只要刪除最上層的 .git 目錄(或是别copy它)就ok了
  • 可以永久刪除分支,不過這在某些方面看起來是缺點。
  • 建立分享用的repo很容易(前提是你的sshd是work的)。幾個簡單的指令即可完成。
至於缺點

  • 由source code開始安裝有夠麻煩,公司的server就是從source code開始裝,缺東缺西,裝到快抓狂。不過如果你是OSX、Windows這類的OS,那安裝起來還蠻快樂的。
  • 有學習曲線,因為全都是命令列指令,要用起來有點好用,沒有練個幾次是很難的。不過目前已經有一些GUI版本的git了,但是功能聽說不是很完整。得靠命令列指令補助。
  • 對SVN的支援非常的鳥,本來這是個整合用的賣點,不過實際測試的結果,非常的不安定與缺乏功能,首先重要的svn:extern tag是沒有支援的。再來,用git dcommit時常發生意外,曾經有該commit進去SVN的檔案遇過沒有commit進去以及內容亂掉的問題。建議還是不要跟SVN混用會比較好。

Posted by toki_kanno at 14:02回應(0)引用(0)
 [1]