Gitでのブランチの作成と切り替え
問題の概要
Gitでプロジェクトを操作している際に、現在の変更をリモートリポジトリにプッシュせずに新機能の開発を始めたい場合があります。このようなシナリオでは、作業内容を分離するために新しいブランチを作成し、複数のブランチ間で効率的に切り替える必要があります。
基本ソリューション
新しいブランチの作成と切り替え
Gitでは、ブランチの作成と同時にそのブランチに切り替える一般的な方法が2つあります:
git checkout -b NEW_BRANCH_NAME
git switch -c NEW_BRANCH_NAME
INFO
git switch
コマンドは Git バージョン 2.23 で導入され、ブランチ操作をより直感的に行えるように設計されています。新しいプロジェクトでは git switch
の使用が推奨されます。
既存のブランチへの切り替え
ブランチ間を行き来するには:
git checkout EXISTING_BRANCH_NAME
または
git switch EXISTING_BRANCH_NAME
実践的なワークフロー
現在のブランチの確認
どのブランチで作業しているか確認するには:
git branch
現在のブランチがアスタリスク(*)でマークされて表示されます。
変更のコミットとブランチ切り替え
WARNING
ブランチを切り替える前に、変更内容をコミットまたはスタッシュすることを推奨します。未コミットの変更があると、ブランチ切り替えがブロックされる場合があります。
変更状況を確認:
git status
必要な変更をコミット:
git add .
git commit -m "作業内容の説明"
リモートリポジトリへのプッシュ
新しいブランチをリモートリポジトリに公開するには:
git push origin NEW_BRANCH_NAME
高度な操作
一時的な変更の保存(スタッシュ)
ブランチを切り替える前に変更を一時保存:
git stash
後で変更を復元:
git stash pop
ブランチの削除
不要なブランチを削除:
git branch -d BRANCH_NAME
ベストプラクティス
- ブランチ命名規則: 意味のある一貫した名前を使用(例:
feature/user-authentication
) - 頻繁なコミット: 小さな単位で頻繁にコミットする
- 定期的な同期: リモートリポジトリから最新の変更を定期的に取得
- ブランチの整理: マージ後のブランチは適宜削除する
トラブルシューティング
ブランチ切り替えで問題が発生した場合:
- 未コミットの変更がないか確認(
git status
) - コンフリクトが発生していないか確認
- 必要に応じて変更をコミットまたはスタッシュ
TIP
IDE(RubyMineなど)を使用している場合、多くの場合はGUI操作でブランチの作成や切り替えが可能です(例: Ctrl+Alt+N)。
このガイドがGitのブランチ操作をマスターするのに役立つことを願っています。効果的なブランチ戦略は、チーム開発の効率を大幅に向上させます。