Gitブランチ関連のコマンド解説

ブランチ関連のコマンド

git branch - ブランチの管理

ブランチの作成、一覧表示、削除などを行います。

オプション 説明
-a, --all すべてのブランチ(リモートブランチを含む)を表示
-d, --delete ブランチを削除
-D ブランチを強制削除
-m, --move ブランチ名を変更
-v, --verbose 各ブランチの最新コミットも表示

例:

git branch - ローカルブランチの一覧を表示
git branch feature - 新しいブランチを作成
git branch -a - すべてのブランチ(リモートブランチを含む)を表示
git branch -d feature - マージ済みのブランチを削除
git branch -D feature - マージ状態に関わらずブランチを強制削除
git branch -m old-name new-name - ブランチ名を変更

git checkout - ブランチの切り替えとファイルの復元

ブランチを切り替えたり、作業ディレクトリのファイルを復元したりします。

オプション 説明
-b <ブランチ名> 新しいブランチを作成して切り替え
-B <ブランチ名> ブランチが存在しない場合は作成し、存在する場合はリセットして切り替え
-f, --force 未コミットの変更があっても強制的に切り替え(変更は失われる)
-- ファイルパスとブランチ名を区別するための区切り

例:

git checkout develop - developブランチに切り替え
git checkout -b feature - 新しいfeatureブランチを作成して切り替え
git checkout -- file.txt - file.txtの変更を取り消し(最後のコミットの状態に戻す)
git checkout HEAD~1 file.txt - file.txtを1つ前のコミットの状態に戻す
git checkout origin/main - リモートのmainブランチの状態に切り替え

git switch - ブランチの切り替え(Git 2.23以降)

ブランチを切り替えるための専用コマンドです(checkoutの機能を分割)。

オプション 説明
-c <ブランチ名> 新しいブランチを作成して切り替え
-C <ブランチ名> ブランチが存在しない場合は作成し、存在する場合はリセットして切り替え
-d, --detach 特定のコミットに切り替え(detachedヘッド状態)
--discard-changes 未コミットの変更を破棄して切り替え

例:

git switch main - mainブランチに切り替え
git switch -c feature - 新しいfeatureブランチを作成して切り替え
git switch -C feature - featureブランチが存在しない場合は作成し、存在する場合はリセットして切り替え
git switch -d HEAD~3 - 3つ前のコミットに切り替え(detachedヘッド状態)
git switch - - 直前にいたブランチに戻る