GitHub、Bitbucket、Google Code 各有哪些優缺點?

我個人三個都用過,實在不能理解為什麼 github 如此流行。

我感覺的幾個特點(都是分散式版本管理了):

  • Bitbucket:免費支持私有倉庫,這一點無可比擬。它同時支持 hg / git,無論從界面還是功能上看,跟 GitHub 比都幾乎沒有什麼缺點(GitHub 有的功能它全有)。

  • GitHub:除了讓我感覺比較 geek 以外,真心沒覺得有什麼特別突出啊?(尤其跟 Bitbucket 相比較)

  • Google Code: 三者中最好的 Wiki 系統,很好的 issue tracker 以及 Google Group / Gmail 的集成,而且它同時支持 svn / mercurial / git 三種版本管理。

另外 git,真的比 hg (mercurial) 好很多?同樣是 DVCS,hg 從概念上非常容易啊。

建議這裡加上http://sf.net的比較,我只是腳本愛好者,感覺這個平台蠻適合開發一些東西並與用戶交流。


建議同時用Bitbucket和Github,理由如下:

有私人項目或者敏感項目(比如接的商業項目散活)就用選Bitbucket就對了。(個人認為Hg比Git好用)

優勢如下:

  • 第一支持Hg,最易學易用(但不是最強大的)的分散式版本管理工具。同時也支持Git。他的網頁端的git倉庫不如github好用,但是作為遠端倉庫足夠了。

  • 第二完全免費的閉源項目,還支持5人以內的合作開發

  • 第三支持中文

  • 第四官方的git工具SourceTree比GitHub for windows好用。

但是身為程序員必須有至少一個Github賬號……這是個SNS。很多時候你要把他當portfolio用,給HR展示你能做的工作。而且身為程序員,哪怕你不打算參與到任何一個開源項目,你總會用到開源項目的吧。大部分都分發在這裡,少部分在Bitbucket。這兩者基本占絕大多數了。

還有

  • Github支持把你watch的項目的最新近況發email給你,而且你可以直接用email回復。

  • 他的編輯器自定義的markdown語法非常強大,README的顯示效果也很出色。

  • 同時代碼片段的引用,評論,分享,討論非常方便。

至於Google Code,這是個傳奇。但是已經被新CEO佩奇頒布的大掃除政策打死了,屬於邊緣化業務,Google不會投入新精力了,只是礙於原本有很多項目依舊運行在Google Code上,所以才沒有像Google Reader一樣徹底關閉。但是基本上活躍用戶都遷走了。

所以基本上,這三個賬號你都得有。平時建議用Github,如果私用就用Bitbucket。

===================================================

Update(2013-12月):

最近玩的時候發現,BitBucket有新政策,如果你邀請朋友使用Bitbucket的話可以贈你三個免費的合作名額。所以你一個項目里最多可以有8個程序猿合作開發。


如果想要免費git repository,就選擇bitbucket

否則就選擇github,開源出來就是希望更多人關注,接近與關注者的距離,方便交流,github在這一點上無疑是最好的;現在上面的wiki、issue系統也已經相當好用了,一直在使用。

google code那種方式已經非常落後了,產品的改進也非常少,github的改進非常到位


除了SNS和Gists

以下補充幾個我的使用經驗

  1. 以前bitbucket沒有支援git

  2. github可以直接在網站上瀏覽push的圖片

  3. github 可以針對code行數直接留言與回覆

  4. github Markdown支援很好

  5. github 的issue, wiki page都設計蠻好, 讓不是Engineer也可以容易上手使用

  6. github 不斷在修改增進介面, 而且挺常改

  7. github周邊商品很可愛XD (github:shop)
  8. 不是很懂技術的人用github Applications也很容易教會

  9. 可藉由連結github來求職GitHub Jobs和了解這個人的技術取向和水平

我不知道上述功能, bitbucket目前有沒有支援, 我個人目前使用是

Open Source(public)跟團隊合作專案(private)放github

自己私人要備份的東西放在bitbucket


GITHUB的優點是:它其實是一個SNS,SNS總是紅得快,你懂的。當然bitbucket現在的改進也很不錯。google code…很久沒有改進了…

當然就工具來說,我還是喜歡HG,所以不是很喜歡GITHUB。


嘗試從另一角度去思考

參考這裡:https://github.com/languages https://github.com/popular/watched

在github的活躍項目大多數是跟web開發有關,其中以JavaScript、Ruby(Ruby on Rails)、NodeJS社區為主,在這些社區、項目中活躍著很多明星程序員,單單是因為這些已經足以吸引很多用戶選擇github

而github還有一個超實用的東西:gist (http://gist.github.com/),用來跟別人分享代碼片段時很好用


googlecode的優點是,他現在只讀了


Bitbucket 私有項目免費,github開源項目多,google code馬上就是下個google reader。


bitbucket沒用過,大家都說挺好的,一定要去用一下。不過本人還是覺得github非常好用,上面還可以免費提供伺服器給你搭建個人博客,這是本人剛搭建好的博客:http://blog.tommyyang.cn。

還有github上項目很多,能學到很多東西,也有非常多優秀的項目,所以它被成為程序員的Facebook。

比如最近在github找到一個非常好的翻牆工具,訪問外網速度很可觀,YouTube上可以看高清視頻。這樣就不用花錢去買VPN伺服器啦。可以在github上搜xxnet即可找到該項目。


BitBucket 不錯:

1 支持私有免費項目

2 Unity3D官方開源的在其上搞的。


bitbucket 提交大文件速度很快,而且私人項目免費,且不限容量,好處多多。建議個人項目方bitbucket。github提交大文件無法成功,不知道是不是有大小限制。優點是開源項目非常多,適合在上面尋找你需要的代碼。


bitbucket is the most popular public mercurial hosting.剛看到的一句話,貼這兒。迄今為止,github似乎是不支持mercurial的。


bitbucket應該來說要略好一些吧,只是bitbucket上的出名項目沒有github多,看看漫談git代碼託管


google code 很難用, 現在很多都已經遷移到 github上了。


企業內部開發使用的SVN,個人項目一般使用Bithucket.而已sourcetree有Mac版本的,svn沒有,所以Mac下也是使用SourceTree。不過Netbeans自帶了一個SVN,還行。


推薦閱讀:

如何寫好 Git commit log?
如何讓公司從 SVN 改到 Git?
Git 相比 svn 和其他版本管理工具的核心優勢有哪些?

TAG:版本控制系統 | GitHub | GoogleCode | Mercurial | Bitbucket |