git-stash を使わないで stash的なことをやる

$ git stash
今の作業を、ちょっと脇においといて…別branchに移動したりなんやりする時に便利なのでよく使います。が、忙しい時のstashは特に、stashしたことをついつい忘れてしまいがちで危険なので、あんまり使わない方がよいと聞きました。言われてみれば、おもむろにgit stash popした時に、全く記憶のないstashが出てきて、なんじゃこりゃー!となったことがあります。もう一回stashして見なかったことにしたりします。
そんなわけで、git-stashを使わないで、stash的なことをやる方法をメモ

まず、今作業中の内容を全部add

$ git add .

で、作業中であることを示すコメントを入れてcommit

$ git commit -m "Work in progress"
とかなんとか。これが、git stashに相当する一連の作業。「なんちゃってstash」と勝手に呼ぼう。
で、本来stashしてからやりたかった作業を完了後、

先ほど仮のcommitでおいといた、なんちゃってstashの作業内容に戻る。

なんちゃってstash中に、新たにcommitを追加して、"work in progress" がHEADじゃない可能性もあるので何番目のcommitなのか確認

$ git log

遡って2番目のcommitが "Work in progress" だった

git-resetで2番目のなんちゃってstashのcommitをリセットする

$ git reset HEAD~~
元の作業内容に戻ってきたーヾ(*’ω’*)ノ゙ これがgit stash popに相当する。
$ git status
で、ステージの内容が元にもどったことが確認できる。
$ git log
すれば、なんちゃってstash中に作業した最新のcommitもそのまま残って無事なのが確認できるよ。
Gitって便利ねえ。実生活もGit管理したくなってきた。