私のようなズボラな人へ。
こんな場合に使えます
こまごまとブランチを切り替える度にgit stash
↓
戻って来たらgit stash apply
(git stash pop
と違い、stashに残り続けます)
(だって、念のためとっておいたら、どこかで役に立つかもしれないし・・・)
(↑完全に片付け苦手な人の心理)
↓
そのままstashが残り続ける
で、いつのまにか100以上のstashが\(^o^)/
ワンライナーで一掃
とりあえず、完了してるブランチ分だけでもまとめて消しちゃいましょう。
git stash list | grep 'WIP on ブランチ名' 2>/dev/null | awk '{print $1}' | sed -e 's/://' | sort -r | xargs -I {} git stash drop {}
git stash list
から指定したブランチのstashを抜き出してstash drop
で捨てています。
sort -r
で降順にしてあげないと、dropの度に番号が繰り上がるのでおかしなことになります。
(やっちまった!)
うっかりするとマージコミットされた他のブランチstashも抽出されちゃうので、
ちゃんとしたい人はもう少し作りこんだ方が良いでしょう。
Commitメッセージに「WIP on」が入っていない限りは大丈夫なはず。