Gitにおける「featureブランチ」の役割と作り方

はじめに

前回の記事では、mainブランチは常に安定した状態を保つことが大切だと説明しました。

では新しい機能を開発するとき、どうすればmainを壊さずに進められるでしょうか?

そこで登場するのが featureブランチ です。


1. featureブランチとは?

  • 新しい機能を開発するための作業用ブランチ名前の通り「機能(feature)」を追加するために切り出します。
  • mainから派生する作業開始時は常に最新のmainを基点にブランチを作成します。
  • 目的が終われば削除する機能の実装とマージが完了したら不要になるので削除します。

2. featureブランチの役割

  1. mainを守る開発途中の未完成コードがmainに入らないようにする。
  2. 作業の独立性を保つ他の開発者と同時に作業しても、コードが混ざらない。
  3. レビューしやすい単位を作る1機能=1ブランチなので、Pull Requestの範囲が明確になりレビューが効率的。
  4. 履歴をきれいにする「どのブランチで何をしたか」が明確に残る。

3. featureブランチの作り方

基本の流れ

# mainを最新化する
git checkout main
git pull origin main

# featureブランチを作成して移動
git checkout -b feature/login
  • git checkout -b feature/◯◯→ 新しいブランチを作り、そのまま移動します。
  • ブランチ名は わかりやすく具体的に つけるのがベストです。例:
    • feature/login (ログイン機能)
    • feature/profile-edit (プロフィール編集機能)
    • feature/payment (決済機能)

4. 作業が終わったら

コミット&プッシュ

git add .
git commit -m "Add login feature"
git push origin feature/login

プルリクエストを作成

GitHubやGitLab上で feature/login → main に対してPull Requestを作成します。

レビューを経て問題がなければmainにマージします。

ブランチを削除

マージ後はローカル・リモート両方で削除して整理します。

git branch -d feature/login       # ローカル削除
git push origin --delete feature/login   # リモート削除

5. 運用のポイント

  • 小さな単位で切る1つのfeatureブランチで複数機能を同時に進めるとレビューが難しくなります。
  • mainを頻繁に取り込む長期間作業するとmainとの差分が大きくなり、マージが大変になるため、定期的に git merge main で追従するのが安全です。
  • 命名規則をチームで統一例: feature/◯◯、fix/◯◯、hotfix/◯◯ など

まとめ

  • featureブランチは「新しい機能を安全に開発する場所」
  • mainを守りつつ、並行作業やレビューをしやすくする役割がある
  • 作業開始時にmainから派生し、作業終了後はmainにマージして削除する

Gitのブランチ運用の基本は、mainを壊さない仕組みをどう作るか にあります。

その第一歩が featureブランチの正しい使い方 です。


訪問数 6 回, 今日の訪問数 1回