Skip to content

Gitでのブランチの作成と切り替え

問題の概要

Gitでプロジェクトを操作している際に、現在の変更をリモートリポジトリにプッシュせずに新機能の開発を始めたい場合があります。このようなシナリオでは、作業内容を分離するために新しいブランチを作成し、複数のブランチ間で効率的に切り替える必要があります。

基本ソリューション

新しいブランチの作成と切り替え

Gitでは、ブランチの作成と同時にそのブランチに切り替える一般的な方法が2つあります:

bash
git checkout -b NEW_BRANCH_NAME
bash
git switch -c NEW_BRANCH_NAME

INFO

git switch コマンドは Git バージョン 2.23 で導入され、ブランチ操作をより直感的に行えるように設計されています。新しいプロジェクトでは git switch の使用が推奨されます。

既存のブランチへの切り替え

ブランチ間を行き来するには:

bash
git checkout EXISTING_BRANCH_NAME

または

bash
git switch EXISTING_BRANCH_NAME

実践的なワークフロー

現在のブランチの確認

どのブランチで作業しているか確認するには:

bash
git branch

現在のブランチがアスタリスク(*)でマークされて表示されます。

変更のコミットとブランチ切り替え

WARNING

ブランチを切り替える前に、変更内容をコミットまたはスタッシュすることを推奨します。未コミットの変更があると、ブランチ切り替えがブロックされる場合があります。

変更状況を確認:

bash
git status

必要な変更をコミット:

bash
git add .
git commit -m "作業内容の説明"

リモートリポジトリへのプッシュ

新しいブランチをリモートリポジトリに公開するには:

bash
git push origin NEW_BRANCH_NAME

高度な操作

一時的な変更の保存(スタッシュ)

ブランチを切り替える前に変更を一時保存:

bash
git stash

後で変更を復元:

bash
git stash pop

ブランチの削除

不要なブランチを削除:

bash
git branch -d BRANCH_NAME

ベストプラクティス

  1. ブランチ命名規則: 意味のある一貫した名前を使用(例: feature/user-authentication
  2. 頻繁なコミット: 小さな単位で頻繁にコミットする
  3. 定期的な同期: リモートリポジトリから最新の変更を定期的に取得
  4. ブランチの整理: マージ後のブランチは適宜削除する

トラブルシューティング

ブランチ切り替えで問題が発生した場合:

  1. 未コミットの変更がないか確認(git status
  2. コンフリクトが発生していないか確認
  3. 必要に応じて変更をコミットまたはスタッシュ

TIP

IDE(RubyMineなど)を使用している場合、多くの場合はGUI操作でブランチの作成や切り替えが可能です(例: Ctrl+Alt+N)。

このガイドがGitのブランチ操作をマスターするのに役立つことを願っています。効果的なブランチ戦略は、チーム開発の効率を大幅に向上させます。