git bashを使います(windows環境だと通常gitインストール時に同梱されているはず)
xargsコマンドを使う
標準入力から受け取って、任意のコマンドに引数として渡すコマンド
ローカルブランチを一括削除する
git branch | xargs git branch -D
これで現在のブランチ以外強制で消せる
タグも同じ要領で消せる
git tag | xargs git tag -d
masterとdevelop以外を消す
grepコマンドを使う
ファイル中の文字列を検索するコマンド
git branch | grep -vE '^\*|master$|develop$' | xargs -I % git branch -D %
-vは一致しないものを検索するオプション
-Eは拡張正規表現を使うオプション
辞書登録しておくと便利なのでおすすめです
リモートにないローカルリモート追跡ブランチを消す
git fetch -p
-p は--pruneの略
リモートにあるブランチを消す
git push origin :ブランチ名
空の箱をリモートにプッシュして消すイメージ
コロンの左側にローカルブランチ右側にリモートの対象ブランチ
githubだと画面でゴミ箱のアイコンを押せばいい
リモートにあるブランチを一括で消す
cut コマンドを使う
指定した部分だけを切り出すコマンド
originなら下記で行けるはず
git branch -r | cut -c 10- | xargs -I % git push origin :%
branch -r でリモートの一覧を出すが
リモート名が邪魔なのでcutで消す。
git branch -r | cut -c ??-
でどうなるか結果を確認したら良い
まぁ使うことなさそう