はじめに
弊社ではさまざまなシステムの開発が行われており、Gitのブランチ戦略などは各プロジェクトに委ねられています。
私が担当しているプロジェクトでは、GitHubFlow + Squash-Mergeによる運用を行っています。
理由としては、それぞれのコミットの粒度・メッセージの統一を図るのが大変という点があります。
デメリットとしては、コミットが圧縮されてしまう点があるのですが、プルリクエストの粒度によって調整しています。
さて、Squash-Mergeのデメリットのもう一つがgit branch -dで削除できず、強制オプションを付ける必要があります。
今回ご紹介する「gh poi」を利用すると安全に不要なブランチを一括削除することができます。
インストール
GitHub CLIのインストール
gh poiは、GitHub CLIの拡張機能として実装されています。
まずはGitHub CLIが必要なので、インストールしましょう。
winget install GitHub.Cli
インストール後、ghコマンドが利用できるようになります。
まずは認証を行う必要がありますので、下記コマンドを実行し認証を行いましょう。
gh auth login
gh poiのインストール
gh extension install seachicken/gh-poi
使い方
使い方は簡単です。下記コマンドを実行します。
gh poi
参考文献
リポジトリ
https://github.com/seachicken/gh-poi
GitHubで“Squash and merge”したブランチを安全に削除するツールを作ってみた
https://zenn.dev/oishiseachicken/articles/2cf634fc2e21d3