看板 Soft_Job 關於我們 聯絡資訊
這串變成推薦 Git hosting service 了,分享一下心得。 因為陳大哥 @yongjhih 的涉獵廣泛, 在公司用過這些選項 - Gitolite 3 - Gerrit 2 + Gitblit plug-in - GitLab 7 - Phabricator - GitHub 其中 Gerrit 的 Git 實作是 JGit,GitHub 不知道,其他都是原始版本的 Git。 Gitolite Gitolite 藉由 SSH/Git 提供的 hook,精巧的提供了帳號與權限控管。 優點是輕巧,但是缺乏 web 前端與 social。 Gerrit Gerrit 是 AOSP 和 Wikimedia 採用的 hosting service, 他提供了強大的 code review 功能,且支援 CI。 Wikimedia 在 Gerrit 上遇到的一些問題我們也有遇過, 例如 JGit 的 object 不見、packaging 過慢等等。 我認為這是使用 JGit 要承受的風險。 過去 Wikimedia 也使用 Gerrit,且會分享他們解決的問題, 所以若有什麼問題還稍微好處理。但目前 Wikimedia 已經轉為使用 Phabricator。 優點是他提供的 code review 功能非常強大。 但使用門檻較高,push commit 的流程也稍微繁鎖, 且需要另外學習 repo 這個 tool 的使用。 GitLab 與 GitHub GitLab 和 GitHub 介面很像,也都強調 social。GitHub 連學校都在教就不贅述。 GitLab 除了顯著的 social 元素,該有的 CI 整合與 REST API 也都不缺, 亦可藉由 merge request 的模式來達到 code review。 基本上 GitLab 可以被視為 self-hosting 版本的 GitHub。 Phabricator Phabricator 是 Facebook 團隊開發的。 特別指出開發者是因為,自身經驗,Facebook 的產品就是潮。 Phabricator 基本上是一堆工具的集合,他雖然也提供了 repository hosting, 不過功能稍嫌陽春。 但是他強大的跨 repository issue tracking 功能,個人認為非常重要, 所以特別推薦。這一點連 Redmine 都還沒有做到。 另外他可以直接 track 其他 repository hosting service,所以可以 Phabricator + GitHub + GitLab 這樣子使用,一切就完美了。 -- http://changyuheng.github.io/ http://murmuring-on-the-air.github.io/ 錢包、鑰匙、手機、雨傘、帽子、保溫杯。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.101.26 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1440310010.A.C01.html
kewang: GitHuB實作是libgit2 https://github.com/libgit2/libgit2 08/23 14:47
uid88: 正好在學這塊,非常受用! 08/23 14:48
※ 編輯: changyuheng (223.138.101.26), 08/23/2015 15:05:34
Twinkling: 跨repo issue tracking 有用的前提是你source code要 08/23 16:25
Twinkling: 切得很乾淨,這對ㄧ些成年舊專案是不可能的 08/23 16:25
Twinkling: jgit的效能比git差,量大的時候會慢 08/23 16:26
lym520: 有人用過 Gogs 嗎? 這套是我覺得最好架問題最少的 該有的 08/23 18:26
lym520: 功能也差不多都有了 08/23 18:26
Baternest: Gerrit跟repo不需要綁在一起... 08/23 23:03
changyuheng: Gogs 的 pull request 不知道做好沒。Gerrit 跟 repo 08/23 23:46
changyuheng: 不需要綁在一起沒錯,我們在不是 Gerri host 的多個 08/23 23:46
changyuheng: repository 也用 repo 來做本地管理。不過 Gerrit c 08/23 23:46
changyuheng: ode review 不透過 repo 實在不文明吧?那個 sshd 連 08/23 23:46
changyuheng: port 都不一樣 08/23 23:46