推: TortoiseGit/MsysGit

在幾年前曾經尋覓過 SCM, 那時最終選擇了 Subversion, 原因是在Windows 環境下相對成熟, 有Server 可run, 有TortoiseSvn這個GUI, 可跑.因此在那段從事Windows CE/Mobile 開發工作階段, 選擇了SVN, 另一個原因是合作的同事, 因為看到合作的公司用SVN 管理, 覺的是一個先進的工具, 接受度也大增, 不過遺憾的是, 可能覺的太先進, 它自己commit code 的機率很低, 一直很擔心把整個 code base 搞爛, 所以大多的 commit 動作還是由我來完成! 不過這是一件不用擔心的事情, 由其在2 ~ 3人的teamwork 中, 只要Branch 開了, 不管改了啥就commit 就對了! 真的爛掉也可以容易的使用revert 去 Rollback 回到原本的起點! 不然用 SCM 是為了啥? 為的就是可以惡搞完可以快速的回到正常狀態!

在用了一陣子之後, 有遇過一些 svn 的缺點, 如集中式的Repository 管理, Branch 需要的空間時間都不少, 由其當專案的檔案日趨增多, 這個現像愈趨惡化, 所以後來有嘗試過 Mercurial(Hg)與Git , 在 2008 年嘗試的時後, 個人覺的那時的MsysGit 雖然可用, 但是還是沒有TortoiseSVN 成熟, 而且並未有完善的GUI, 而Mercurial 那時, 相對於Git, 因為它用 Python 開發, 在Windows 上的移植相對簡單, 所以功能完整多了, 但是也因為沒有適當的GUI 而放棄!(那時已經有了TortoiseHg, 但是還不成熟!)

最近因為轉換工作, 這個工作一樣是coding, 但是同樣的是一個沒有用SCM的公司!同事們的Solution 就是Coding 完, 寫History/Work Log, 然後把 codebase compress 成一個一個的package, 不過因為所有的專案都是單人獨立完成, 所以這樣進行實際上, 除了麻煩點也沒啥缺點! 這也是該工作在台灣的普遍現象!

但是人懶沒藥醫的我, 實在是懶的Coding 又要整理 Log, 就又開始了新一輪的嘗試SCM, 這次直接嘗試了TortoiseGit, 驚喜的發現 TortoiseGit/MsysGit 的組合對我來說已經夠成熟了, 除了Msysgit 始終不支援的git-svn, 整個MsysGit可以說已經到了穩定階段, 搭配TortoiseGit 在Windows 上已經幾乎可以取代了TortoiseSVN了!

不過使用TortoiseGit 有時還是要配合GitGui 一起服用, 不過大多數TortoiseGit 已經實作的項目, 絕對比用GitGui 簡單, 也不用查詢 git command 怎樣下(當然如果能清楚 command怎樣下的話, 用起來更是如虎添翼!)

不過比起Subversion 來說, Git 的Learning curve 真的還是比較陡峭一點點! 不過再經過這一週的學習/使用後, 若是有人問我現在哪各SCM 在Windows上, 最方便好用, 我可以毫不猶豫的說是MsysGit/TortoiseGit 的組合!

Update: Msysgit 已經可以 用 git svn 的command 了, 我在windows上用MsysGit 的Bash 情況下, 去拉 EDK II/coreboot 等 svn 的repository 都是成功的! 在TortoiseGit 在clone repository 時也有對應的選項, 不過因為 ssh的關係 我還是選用 bash 的command mode去執行!

推: TortoiseGit/MsysGit 有 “ 2 則迴響 ”

    1. Hi John, 我想TortoiseHg 現在應該也是很好的GUI Tools了, 只能說我測得比較早吧!
      Mercurial/Git/SVN 都是好東西, SVN 從 v1.7 開始也大改 速度變得飛快, 但是我目前主要用的還是Git 暫時也沒打算換了!

發表留言