🪦
ローカルのGitブランチをワイルドカードで削除
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
の引数にする、という力技でございます。
これで記事をバンバン書いてもサッと綺麗に消せるので便利です。
本日は以上です!
Discussion