9/29, 2011

Gerrit メモ

Gerritはレビューのためのツールです。Javaで書かれてます。中身にJavaで書かれたGitサーバまで内蔵していて、javaコマンドがあれば動くという簡単設計。Androidが使ってる

Gitで使うの前提です。Gitを使ってないなら、それは何かがすでに間違ってるのでそこから見直しましょう。

  • GerritはGitのリモートレポジトリとして動いて、Pushしたブランチの各コミットからレビューを生成する。

    • 一杯コミットがあるブランチをPushすると一杯レビューができて (´・ω・`)ガッカリ… することに。
  • じゃあコミットいっぱいでブランチをreviewに出すときはどうすんのよ?

    • git rebase -igit merge --squashでコミットを1つにしてそのコミットだけがあるブランチをPushする。
  • なんでこんなことに…

    • 多分、マスターが追いやすくなるっていうメリットがあるから。デメリットはSquashするから細い変更は追えなくなる。
  • レビューが通ると自動でmasterブランチにレビューに送ったブランチマージしてくれる。マージに失敗したらマージできるブランチを作りなおして再チャレンジ(だったと思う)。

  • Change-IDとは。レビューでリジェクトされて再チャレンジするときに前のコミットと再チャレンジすコミットが同じレビューかどうか識別する為のID。ローカルのレポジトリにHookを入れて勝手にIDをコミット時に生成するようにする。

あまりGerritについて日本語で書かれてる情報がないので簡単にまとめました。 まじめに使ってないので嘘があるかもしれません。