Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gerrit vs Github final war
Search
KONDO Uchio
October 17, 2012
Technology
7
6.4k
Gerrit vs Github final war
Githubへの歪んだ感情をGerritにかこつけてぶつけよう!あと Patchset便利
KONDO Uchio
October 17, 2012
Tweet
Share
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.5k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
280
Narrative of Ruby & Rust
udzura
0
250
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.8k
Talk of RBS
udzura
0
480
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
830
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
780
Device access filtering in cgroup v2
udzura
1
980
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
880
Other Decks in Technology
See All in Technology
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
190
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
360
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
150
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
470
20260204_Midosuji_Tech
takuyay0ne
1
160
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
770
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
140
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
190
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
300
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
210
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.4k
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Scaling GitHub
holman
464
140k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
Claude Code のすすめ
schroneko
67
210k
The Curse of the Amulet
leimatthew05
1
8.6k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The SEO Collaboration Effect
kristinabergwall1
0
350
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
75
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
730
Transcript
Github vs Gerrit -‐ 最終決戦 -‐ @shibuya.rb
近藤うちお 2012-‐10-‐17
@udzura -‐ 近藤うちお • エイミングでレールズ書いています • 社内でパデュリーノはじまりました – でも、ぼくのプロジェクトはレールズ…
• 最近Elixir再開しつつある • 最近見てるアニメはゆるゆりです • h;p://udzura.jp 提供
[PR] • Web+DB Press vol.71 • 書いた •
今回のテーマは Pry です!!! • (Thanks @ainame)
今日 • レビューツールの話です • ここはシブヤ・ルビー…… • いや、ルビーでの開発で使っていますので
コードレビュー • してますか?
プルリクエスト • してますか?
あなたと
プルリクエストで • 初めて人のコ〜ドをちゃんと見たな〜 • レビュ〜初めてだったわ〜 • という方?
コードレビュー • 古典的イメージ – インスペクション – ウォークスルー – あっ、この用語
基本情報処理技術者試験で見たやつだ! – レビュー会議する – ウォーターフォールのいち工程 – コストがヤバい – ダルそう……
いま、プルリクエスト • 本質はコードのレビューだと思います • 「ソーシャルコーディング」は、コードレビュー というプラクティスを – 対等
– 双方向的 – 軽量 • に変えるのに役立ったと思っていて とてもすばらしい
突然のプルリクエスト • PR、確かにコードレビューを身近にしたけど • で、いきなり「レビューしてください」 • できるもんなの?
• 地味にみんな戸惑ったのではないかと 思っている
もっとレビューの話をしたい
ぼくのレビュー事始め • Gerrit code review – h;p://code.google.com/p/gerrit/
Gerrit Code Reviewとの出会い • 入社前から存在は知っていたけど、某A社に 入ってから使い始めた • 入社1日目にモヒカン1さんとペアプロをし、
数日後モヒカン2さんによりレビュー→直し • レビューされる → レビューする側にも _人人人人人人_ > 突然の斧 <  ̄^Y^Y^Y^Y^Y^ ̄
Gerrit Code Review • GoogleのMondrianの • クローンのRietveld(独自言語製) •
のforkらしい • ジャバ言語と言う言語で 書かれている • Android、Qt あたりが採用 • Gerrit Rietveld さんどんだけ 偉いのか…… • h;p://code.google.com/p/gerrit/wiki/Background
利用例: Androidの開発 h;ps://android-‐review.googlesource.com
一方 • は、Githubを使いやがった……
gerrit と github • 比べてみた • Githubも(社内で)少し触って、 「えっ」とか「うーん」って
なったところとかを交えつつ
gerritのいいな〜ってところ • Patchsetの存在
Patchset? • コミット一つ一つに対して「Change-‐ID」が割り 振られる • gerritは、 Change-‐IDが同じコミットは、SHA1 の値が違っていても「同一のコミット」と見なす •
Change-‐IDが同じコミット群は変更履歴が残る • 各コミットのdiffを参照できるし、過去のコメン トも消えない
Patchsetの状態ごとに チェックアウトできる
議論が拡散しない • コミットとPatchsetの記録のおかげで、 「コミットへのコメント」がそのコミットに集約する • h;ps://twi;er.com/kyanny/status/257670367504654336
歴史改変 • git rebase -‐i で履歴を奇麗に保つ運用と 親和性が高い •
h;p://d.hatena.ne.jp/sinsoku/20110925/1316933393
歴史改変 in github • rebaseとかしたらgit push -‐fとかになる – 他の方法があるかもしれないが……
多くの人がこのやり方を推奨する旨書いてる – 恐ろしい…… • もしくはコミットをあとから追加していく – 一度上げちまったプルリクは改変しない
c.f. 消しゴム vs 破り捨て • “この間ちょうどオフィスで「アメリカ人はなんでシャー ペンの良さが分からないんですか?」って話があった んだけど、これもまさに象徴的なことだよね。アメ リカ ではそもそも消しゴム全然使わないから、書いた後に
直すっていうコンセプトが無い。シリコンバレーでもな んでもそうだけど、作ってとりあえずリリース する。消 しゴム、ないんだよね。この国。(笑)だけど日本人は 直して直して、完璧になるまでなかなか出さない。ダメ だったら破って次に進めばいいんだよ。” • h;p://blog.btrax.com/jp/2012/05/09/int-‐designer/
もしかして • あんまりrebase -‐i でコミット直すのって • みんなやってない? •
Githubの人ってrebase -‐i使わなさそう…
gerrit merit • 無料です – Githubの利用もロックインはロックインなのです – まあ、Bitbucketとかもありますけど…… •
連携プラグインとか – gerrit -‐> Jenkins – h;p://developer.aiming-‐inc.com/ci/jenkins-‐gerrit-‐ trigger-‐plugin-‐usage/ – gerrit はコマンドラインAPIもあるよ
クラウドに置けない系開発 • 主にアイピーモノですね • Github Enterprise?いいと思いますよ • h;ps://enterprise.github.com/pricing
• お金で躊躇して導入できない とかであれば、まずは gerritを試すといいのでは
ソーシャルコーディングへの橋渡し • Githubほどのオープンっぽさが無いので そこが逆にいいかも • Aimingでは、そんなにwebッ子じゃない エンジニアにも普及している
• 文化が違うエンジニアだっているという話 tool social
gerrit cons • 社内でホストするのってやっぱ大変…… – 重くなったり…… – アップデート…… •
UIはやっぱりGithubの方が良い :bomb: • 「複数コミットのつながり」へのコメントが できない • ミサワリンクが画像展開されない
まとめ • gerritのよいところ – オ〜プンソ〜ス – Patchsetの存在 – マニー
– クローズドから始められる • 「ソーシャルなんて……」と躊躇するなら いっそgerritから始めてはいかが?
see also • 藤村さん(卒業)の発表 • 「AimingのGitHubを使った開発フロー」 • h;ps://speakerdeck.com/u/fujimura/p/
aiminggithub
ask him • gerrit → github なプロジェクトに移行した • 彼もきっといいことを言ってくれるはず……