Github 分散式版本控制的殺手級應用

最近常常推薦人家去玩 Github,到底有用在哪裡? 就來寫一篇廣告文吧。

GitHub 是基於 Git 這套分散式版本控制系統的 Repository hosting 應用,一開始我也沒聽過 Git ,覺得用 Subversion 好好的為什麼這些人要換。抱著嚐鮮的念頭用了之後,發現實在好玩極了。目前已經有非常多的 Rails 相關應用都已經在上面進行開發,包括Ruby on Rails coreRSpecwill_paginate pluginattachment fu_plugin等等,幾乎所有我用到的 Rails plugins 在上面都可以找的到。

到底有那些特色呢?

  1. 你可以 watch 你所關注的專案,Github 提供 private RSS 訂閱。有了這個功能,我有用到的 plugins 的進度我都可以掌握。
  2. 可以看到哪個專案最多人 watch,比較哪個比較多人用(比較多人用比較保險?)。
  3. 你可以 follow 你所關注的開發者動態(例如ihower),看看又有什麼新的好東西 :p
  4. 你可以對專案 fork 出自己的版本進行開發,甚至最後發 pull request 要求 merge。
  5. 根據 fork 我就可以看到這個專案的分支 Network 狀態。有時候可能本來的程式不好用或爛掉了,你就可以查看看有沒有人寫做 patch 改進。
  6. 漂亮的 Source code browser,並可以針對 commit 來做留言討論,甚至標明是 source code 的哪一行(請把滑鼠移到原始碼的行數旁)。
  7. 提供 tarball 下載,即使沒裝 git command 也十分方便下載。
  8. GitHub 可以直接當做 Ruby gem server
  9. 針對 Repository 可以搜尋 code, commit message, author 等
  10. Git (我的感覺)比 SVN 又快又穩,用 SVN 常常會因為檔案太多中途失敗。

Github 根本就是 Open source developer 的 social networking 啊,聽說這股浪潮已經從 Ruby/Rails 圈吹到 JavaScript 跟 Perl 了(?),這都要歸功於 Git 這套優異的分散式版本控制系統。

BTW,幫忙宣傳 Jserv 在這週二的演講:我愛 Git – 有效使用分散式版本控制系統

6 thoughts on “Github 分散式版本控制的殺手級應用

  1. 第四、五、八點我認為是最吸引人的地方,因為 rubyforge 實在太龜了。
    不過我也才正準備改用 Git 而已,等現在的工作交接完就有機會好好去看別人的專案了。

    廣告文不錯呀!可以知道一些有趣的 Talk。

Leave a Reply