Gerritでよく使うgit コマンド
Gerritは「1つのコミットを何度も修正して完成度を高める」という運用をするため、GitHubとは少し違うコマンドを多用します。
レビュー依頼のプッシュ
GitHubの git push origin main とは異なり、Gerritでは refs/for/ブランチ名 という特殊な場所にプッシュします。
git push origin HEAD:refs/for/ブランチ名
現在の位置(HEAD)を、ブランチ名向けのレビュー用(refs/for/ブランチ名)として送ります。
このコマンドを実行すると、Gerrit上に新しいChange(レビュー画面)が作成されます。
コミット
新しくコードを書き、レビューに出す準備をする時に最初のコミットを行います。
git add ファイル名 git commit -m "メッセージ"
Gerritでは-mオプションを使用したコミットメッセージを書くことは少なくエディタで書くことが多いです。
vimエディタでコミットメッセージを書きたい場合は、以下設定しておけばgit commitでOKです。
git config --global core.editor vim
VS Codeでコミットメッセージを書きたい場合は、以下設定しておけばgit commitでOKです。
git config --global core.editor "code --wait"
コミット修正
レビューで指摘があった場合、新たにコミットを作るのではなく、今のコミットを書き換えます。
指摘されたコードだけを修正してコミットメッセージは一字一句そのまま変更したくない場合に使います。
git add ファイル名 git commit --amend --no-edit
--amend をつけると、直前のコミットを破棄して作り直すオプションです。
--no-edit をつけると、Change-Idが含まれた既存のメッセージをそのまま使えます。(コミット上書き、Change-Idは変わらない)
コミット修正後、再び git push origin HEAD:refs/for/ブランチ名 をすると、Gerrit上の既存のレビューが「Patch Set 2」として更新されます。
他メンバーのレビュー取込(同期)
作業中にサーバー側のmasterが進んだ場合、自分のコミットを最新の状態の上に載せ替えます。
git fetch origin git rebase origin/master
Gerritでは git pull よりも、履歴を綺麗に保つために rebase が推奨されることが多いです。
コミット履歴を一本道(直線)にして、レビューしやすくするためになります。
※git pull を実行すると、裏側では「自分の変更」と「サーバー側の変更」を合体させるためのマージコミット(例:Merge branch ‘master’ of…)が自動で作られてしまいます。
※rebase を使うと、自分の修正を常に「最新のmasterの直後」に置くことができます。
コミット履歴(過去の記録)を表示する
git logでコミット履歴を表示します。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^

