# Git branch の表示・変更・削除
Git ブランチの作成、一覧表示、名称変更、削除を行うコマンドいろいろあります。
# ブランチ確認するコマンド
# ローカルブランチの一覧を確認
git branch
# リモート含めてブランチの一覧を確認
git branch -a
git branch --all
# マージ済のブランチの一覧
git branch --merged
# マージされていないブランチを一覧
git branch --no-merged
# リモートブランチの一覧を表示
git branch -r
git branch --remote
# ブランチの詳細情報を表示
git branch -v
git branch --verbose
# 該当コミットIDの詳細を表示
git show -s
# ブランチの名前を変更
ローカルのブランチ名を変更する方法
# 現在のブランチ名をnew-branchに変更
git branch -m new-branch
# old-branchブランチ名をnew-branchに変更
git branch -m old-branch new-branch
# Git ブランチを削除する
基本的に、メインブランチにマージして開発作業が完了したら、子ブランチを削除することが推奨されています。
Git では、現在のブランチを削除することはできないので、削除対象以外のブランチにチェックアウトして削除作業を行う必要があります。
リポジトリ削除に、ワイルドカード(*)などの正規表現は使えません。
# 現在のブランチにマージ済みの場合のみ削除
git branch -d my-branch
git branch --delete my-branch
# 強制削除
git branch -D my-branch
git branch -df my-branch
git branch --delete --force my-branch
# リモートで削除されたブランチをローカルから削除
git fetch --prune
git fetch -p
# リモートブランチ削除
git push --delete origin my-branch
git push origin :my-branch
# マージ済みのブランチのみ削除ができる
git branch -d my-branch
マージされていないブランチをこのコマンドで削除しようとするとエラー出ます。
error: The branch ‘my-branch’ is not fully merged.
# マージされていないブランチでも削除できる
強制削除コマンドのため、慎重に
git branch -D my-branch
# merge 済のものを一気に削除
merge 済のブランチを一気に削除できる方法
git branch --merged|egrep -v '\*|develop|master'|xargs git branch -d
コマンド内容
git branch --merged
コマンドでマージ済のブランチを取得egrep
で develop, master を除いたものを取得xargs
を使って、git branch -d
の引数に渡して削除
上記コマンドを実行することで、develop master を除いたマージ済みのブランチすべてを削除することができます。
末尾にある-d
を -D
に変更すれば、未 merge も含めて全て削除できます。
xargs コマンドは標準入力を読み込み、それを引数として指定したコマンド実行してくれます。
2022-02-07