🍑あわもり教室🫧 クラウドの「手前」を、ちゃんとやる。 はじめる
SET 0425分

ブランチとレビュー

並行した変更をブランチで分け、プルリクエストで意図と確認結果を共有します。

このレッスンのメニュー

公開中のWebサイトを直しながら、完成まで数日かかる機能も作るとします。 二つの変更を同じ履歴へ順番に記録すると、公開したい修正へ作りかけの機能が混ざります。

Gitでは、共通の履歴から作業用の履歴を分け、完成後に必要な変更を合流できます。

二つの変更を別々に進める

ブランチ(branch)は、履歴上の一つのコミットを指す名前です。 作業用のブランチを作ると、共通の履歴を残したまま、新しいコミットを別の方向へ追加できます。 新しいコミットを作ると、現在のブランチがそのコミットを指すようになります。

mainブランチの共通履歴から作業用ブランチが分かれ、二つのコミットを追加したあとmainへ合流する流れ
作業用ブランチで変更を記録し、確認後にmainブランチの履歴へ合流します。
git switch -c add-healthcheck
git add healthcheck.conf
git commit -m "Add HTTP health check"

git switch -cは、現在のコミットを指す新しいブランチを作り、そのブランチへ作業場所を切り替えます。 その後に作るコミットは、作業用ブランチの履歴へ追加されます。

確認した変更を共通の履歴へ合流する

マージ(merge)は、分かれた二つの履歴を一つにつなぎます。 作業用ブランチの変更を確認したあと、mainなどチームで共有するブランチへマージします。

プルリクエストで変更の意図を共有する

プルリクエスト(pull request)は、GitHubなどの外部サービスが提供する、変更を共有して取り込む前に確認する機能です。 コードだけでは残りにくい情報も書きます。

  • 何を変えたか
  • なぜ必要か
  • どう確認したか
  • 影響しそうな範囲
  • 戻す場合の方法

レビューは誤りを探すだけでなく、運用できる知識を複数人へ広げる作業です。

同じ場所を変更したときの衝突を解く

同じ行付近を別々に変更すると、Gitだけでは正しい結果を決められません。 両方の意図を読み、最終的に必要な内容へ編集し、テストしてから解決済みとして記録します。

Gitが付けた衝突箇所の印を消したあと、ビルド、テスト、設定の構文確認など、そのファイルに合った検証まで行います。

このレッスンは完了

このページで扱った流れを確認したら、次の内容へ進みます。