目前基于 Git 做版本控制的代碼托管平臺有很多種,比較流行的服務有 Github、Bitbucket、 GitLab、 Coding,他們各自有什么特點,個人使用者和開發團隊又該如何選擇? 在這篇文章中,我們以客觀的態度,以問題作為出發點,介紹和比較 GitHub、Bitbucket、GitLab、Coding 在基本功能,開源與協作,免費與付費計劃,企業解決方案,集成 等方面,讓大家了解這四者不僅僅是功能不同。 GitHub 是第一個供“用Git進行版本控制系統的軟件開發項目”使用的基于Web的代碼托管服務,是目前全球最大的開源社交編程及代碼托管網站。GitHub 于 2008 年 4 月 10 日正式上線,除了基本的服務以外,還提供了訂閱、討論組、文本渲染、在線文件編輯器、協作圖譜(報表)、代碼片段分享(Gist)等功能。 BitBucket 是 2008 年創建的源代碼托管網站,采用 Mercurial 和 Git 作為分布式版本控制系統,同時提供免費賬戶和商業計劃。2010 年被 Atlassian 收購,與 Atlassian 的其他服務(Git GUI SourceTree、HipChat、Cloud9)順利集成,主要面向慈善企業和企業用戶/其主要市場是大型企業。 GitLab 是一個利用 Ruby on Rails 開發的開源應用程序,實現一個自托管的 Git 項目倉庫,可通過 Web 界面進行訪問公開的或者私人項目。
基本特征關于這 4 大代碼托管服務平臺有著各自不同的功能,但也是有一些基礎特點,比如:
欲了解更多的功能和細節,可以直接去 Bitbucket, GitHub, GitLab, Coding相關頁面了解。 哪個是開源的服務或產品在這四家代碼托管服務,只有 GitLab 有一個開源代碼版本。GitLab 社區版的源代碼也開放在他們的網站上。 GitHub 以開源友好而聞名,并且擁有最大數量(19.4M +)的開源項目但其本身不是開源的。 Bitbucket也不是開源的,但在購買托管服務的方案中提供了「產品定制」的功能。 Coding 同樣也不是開源的,不過 ,9 月中旬 Coding 宣布開放 WebIDE 的源代碼。 開源與協作,誰是最優之選GitHub,GitLab,Bitbucket 和 Coding 都具有「發現」功能。除了 GitLab,每個都提供了「follow」功能。Coding 允許開發者在個人配置文件中添加自定義標簽,方便找到其他相同興趣的開發者。 在協作上,GitHub 是開源協作方面的首當其沖的選擇。目前 GitHub 擁有全世界最大數量的公共開源項目,全球頂級科技公司( Google / Apple/ Facebook/ Twitter/ Microsoft/Alibaba/ Tencent)紛紛加入 GitHub ,全球頂級開源項目(Linux/ Nodejs/ Swift/ Ruby / Docker)都優先選擇在 GitHub 上開源,這里還有全球頂級編程大牛貢獻代碼。這里不僅僅是專業開發人員的交友樂園,也聚集了很多對軟件開發感興趣的人學習。甚至,一個活躍的 GitHub 賬號也能成為理想工作的敲門磚。 導入的代碼倉庫類型某種意義上,分布式版本控制系統決定了選擇哪個代碼存儲服務,Bitbucket 在這方面脫穎而出,因為這是唯一同時支持 Mercurial. Coding,GitHub 和 Bitbucket 支持導入基于多個不同 VCS 的 repos,而 GitLab 只支持 Git。 毫無疑問,Git 是目前最受歡迎的 VCS,但如果你正在使用 Mercurial 或 SVN 存儲庫,那么遷移至 GitLab 可能會很復雜。GitLab 提供了簡單方便的方式,用于從 GitHub 或其他平臺上導入代碼倉。 GitHub 支持:
GitLab 支持:
Coding 支持:
Bitbucket支持:
免費計劃哪家強這 4 家服務提供商都提供免費計劃,但當我們仔細深究時,他們有一些重大差異。比如: GitHub 的 Free Plans 允許托管無限的公有代碼倉庫,隨時進行clone, fork 和 contribute,對磁盤使用沒有限制。但是,項目不能超過 1 GB和單個文件不能超過 100 MB。 Bitbucket** 的 Small teams plan 允許 5 個成員加入,公有/私有倉庫均免費。當項目大快到達 1GB 時,會有郵件通知。 GitLab 的 cloud-hosted plan 允許無限數量的用戶在無限數量的公共和私有項目上進行協作,并且每個存儲庫有 10GB 的空間限制,看起來非常有誘惑力。 Coding 的免費計劃允許 10 個成員在無限數量的公共和私有存儲庫上協作,但強加了 1 GB 的整體存儲限制。 由上面可以看到,GitLab社區版是唯一的自托管免費計劃。如果你喜歡完全控制代碼庫并維護自己的服務器資源,這絕對是最好的選擇。有一個缺點是它只提供社區支持和一些更高級的功能,也不提供代碼搜索。 誰的付費云托管計劃更據優勢
GitHub的個人帳戶提供了和免費帳戶基本相同的功能,可托管無限數量的私人倉庫。對于具有個人帳戶的用戶數量沒有限制,但是他們無法使用組織功能(例如,基于小組的訪問權限),并且結算是獨立完成的。GitHub組織計劃起價為 Bitbucket 云托管的成長團隊計劃包含 Coding 有 2 個付費計劃,最多 20 人的開發計劃和 50 人的高級計劃。這兩種方案都可以托管無限數量的代碼庫,存儲空間限制分別為 5 GB和 10 GB。值得一提的是,Coding 在這方面的計費選項更靈活,價格更具競爭力,也有更強大的技術支持,包括即時聊天和電話支持。 對比企業解決方案比起 Cloud-Hosted Plans ,GitHub,GitLab 和 Bitbucket 的企業收費版本提供了更加強大的功能,各自的網站上提供了相對完整的收費表格,詳情查看在: Coding 的企業版沒有透露任何定價和功能的細節。如果你正在考慮他們的解決方案,你需要聯系團隊。他們先評估需求,然后根據評估結果提供定制報價。 GitHub 的企業版起價為 $2500 /10人,每年計費一次。除了部署自主服務器,GitHub Enterprise還可以部署到 AWS 和 Azure。 如果選擇 Bitbucket ,只要 GitLab 企業版的收費策略是每位用戶每年 39 $,對用戶數沒有限制。它比 Bitbucket 貴一點,同時如果使用一些額外的工具和服務,價格也會上漲很多:
集成除了寫代碼,我們還需要自動化測試,CodeReview 、CI 集成等來提升代碼的質量。GitHub,Bitbucket,GitLab和Coding 與 無縫連接,任意的代碼倉庫關聯到 只需幾個步驟。 總結基于上面的介紹和比較,如果還有不清楚的地方,還可以看下 stackshare 上的 GitHub vs. Bitbucket vs. GitLab 的對比分析. 對于這四大代碼倉庫托管服務,功能最強大的,性價比最高的,最受歡迎的都不是最好的。在特定情況下,在只有適合自己的才是最好的。那么通過這篇對比,我們也可以得到一些基礎的實際的結論:
如果這 4 個代碼托管服務都不是你所需要的,可以再看看國外的Assembla、CloudForge、gogs ,國內的 code.csdn、git@osc、集盒、TaoCode 等服務。如果你還有其他補充,歡迎評論留言。 是融入了 workflow 機制的持續集成(CI)服務,也可以理解為自動化流程平臺,除了集成代碼、編譯、測試之外,還可以集成常用的工具、靈活自定義流程。1 分鐘即可完成開發測試環境搭建,開啟第一個 Build。 本文來自 官方博客,轉載請聯系:) |
|