ローカルのGitブランチをワイルドカードで削除

1 min read読了の目安(約800字

Zenn記事管理用のGitリポジトリを便利に管理するMakeコマンド

初回の記事で記載しましたとおり、Zenn記事管理用のGitリポジトリにMakefileを追加いたしまして、Zenn記事の管理を便利にしております。

以下のようなMakefileコマンドで新規記事の作成をしております。

today=`date +%Y-%m-%d`

.PHONY: new
new:
	git checkout -b article_${today} && npx zenn new:article

article_+本日の日付をつけたブランチを作成して、そこで記事の新規作成をしております。

使い終わったブランチ・・・?

GitHub上でのPRを作成、記事の表示チェックなどしてマージし、マージ後の作業ブランチはそこで削除、でOKなのですが、ローカルの作業ブランチはこのままでは消えてくれません。

git branch -d 'article_*'ではワイルドカード使えないので一括ではarticle_*ブランチは消えてくれません。。。
ということで、以下のMakefileコマンドを追加しました。

.PHONY: prune
prune:
	git branch --list 'article_*' --format '%(refname:short)' | xargs git branch -d

git branch --list 'article_*' --format '%(refname:short)'で、article_で始まるブランチのリストを取得し、そのリストをxargsで次のgit branch -dの引数にする、という力技でございます。

これで記事をバンバン書いてもサッと綺麗に消せるので便利です。

本日は以上です!