ブランチの作成、一覧表示、削除などを行います。
| オプション | 説明 |
|---|---|
| -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 - ブランチ名を変更
ブランチを切り替えたり、作業ディレクトリのファイルを復元したりします。
| オプション | 説明 |
|---|---|
| -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ブランチの状態に切り替え
ブランチを切り替えるための専用コマンドです(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 - - 直前にいたブランチに戻る