意外と無かったので、Sourcetreeのカスタム操作に登録するバッチファイルを作りました。
delete_merged_branches.bat
git checkout master
set mergedBranches=`git branch --merged`
setlocal EnableDelayedExpansion
for /F "usebackq delims=" %%g in (%mergedBranches%) do (
echo "%%g" | findstr "master develop"
if !errorlevel! equ 1 (
git branch -d %%g
)
)
使い方
- 上記をコピーして、delete_merged_branches.batとして適当な場所に保存する
- Sourcetree->ツール->オプション->カスタム操作で実行するスクリプトに、1で保存したdelete_merged_branches.batを指定する(メニュー表示名は、「masterブランチにマージ済みのブランチを削除する」などわかりやすいものを指定)
- Sourcetree->操作->カスタム操作から、2で作成したカスタム操作を実行する