Gerritでよく使うgit コマンド

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でコミット履歴を表示します。

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました