第3章. HEAD とブランチ
ブランチは、作業の道筋を分けるための印です。 大きな道(main)から新しい道(feature)を一時的に分けて作業できるようにしてくれます。
HEAD は「いま自分が立っている道の先端」を指す目印です。 今どこで作業しているのかを知らせる矢印だと考えれば十分です。
なぜブランチが必要なのか
- 安定した main を守りながら、作業を隔離した状態で新しい案を安全に試せます。
- 複数人が同じプロジェクトを同時に触っても、衝突の危険を下げやすくなります。
- 問題が起きても作業の道を分けてあるので、戻しやすくなります。
図 3-1. HEAD が feature ブランチを指している状態
今の作業位置(HEAD)が feature/login-bg の上にあれば、新しいコミットもその道に積まれていきます。
図 3-2. 作業後に main へ戻った状態
作業が終わったら main に戻して統合し、HEAD も main に置き直して次の作業を始めます。
Checkout とは?
Checkout は「いま作業するブランチを切り替える動き」です。 Checkout をすると HEAD は新しいブランチを指すようになります。
たとえば main から feature/login-bg に Checkout すると、その次からのコミットは feature/login-bg に積まれます。 もう一度 main に Checkout すれば、main の続きとして作業します。
おすすめのブランチ名ルール
- 形式: カテゴリ/作業名
- カテゴリ例: feature, fix, refactor, chore, docs, hotfix
- 例: feature/login-bg, fix/button-align, refactor/ui-layout
- 名前の条件: すべて小文字、空白の代わりにハイフン(-)を使う、特殊文字は禁止(区切り用の / は除く)
- 1 本のブランチには 1 つの目的だけを入れる
カテゴリはだいたい次の基準で選びます。
- feature: 新しい機能や新しい画面を追加するとき
- fix: 動作不良、崩れた UI、間違った値などを直すとき
- refactor: 機能はそのままで構造だけ整理するとき
- chore: ビルド設定、フォルダ整理、依存関係更新などの保守作業
- docs: 説明文書、コメント、ガイド文言を直すとき
- hotfix: 本番の問題を緊急で直すとき