作者changyuheng (張昱珩)
看板Soft_Job
標題Re: [討論] 用Git有什麼缺點?
時間Sun Aug 23 14:06:46 2015
這串變成推薦 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://webptt.com/m.aspx?n=bbs/Soft_Job/M.1440310010.A.C01.html
2F:推 uid88: 正好在學這塊,非常受用! 08/23 14:48
※ 編輯: changyuheng (223.138.101.26), 08/23/2015 15:05:34
3F:推 Twinkling: 跨repo issue tracking 有用的前提是你source code要 08/23 16:25
4F:→ Twinkling: 切得很乾淨,這對ㄧ些成年舊專案是不可能的 08/23 16:25
5F:→ Twinkling: jgit的效能比git差,量大的時候會慢 08/23 16:26
6F:推 lym520: 有人用過 Gogs 嗎? 這套是我覺得最好架問題最少的 該有的 08/23 18:26
7F:→ lym520: 功能也差不多都有了 08/23 18:26
8F:推 Baternest: Gerrit跟repo不需要綁在一起... 08/23 23:03
9F:→ changyuheng: Gogs 的 pull request 不知道做好沒。Gerrit 跟 repo 08/23 23:46
10F:→ changyuheng: 不需要綁在一起沒錯,我們在不是 Gerri host 的多個 08/23 23:46
11F:→ changyuheng: repository 也用 repo 來做本地管理。不過 Gerrit c 08/23 23:46
12F:→ changyuheng: ode review 不透過 repo 實在不文明吧?那個 sshd 連 08/23 23:46
13F:→ changyuheng: port 都不一樣 08/23 23:46