LoginSignup
1
2

More than 5 years have passed since last update.

溜まりに溜まったgit stashを一掃する

Last updated at Posted at 2018-03-08

私のようなズボラな人へ。

こんな場合に使えます

こまごまとブランチを切り替える度に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」が入っていない限りは大丈夫なはず。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2