いままでものすごく勘違いをしていた
もしかしたら、ほかにもいる?いや、きっと俺だけだと思う。。。
git stash
とは何かについて、まーほとんどのひとはわかっているとおもう。
gitでバージョン管理している場合、作業分を一時的にセーブしたりする。
また、その作業分をセーブしながら、 作業を隠してくれる。
何を勘違いしていたのか。
git stashというものは作業をなかったことにするものだと思っていたのだ。
例えば、途中までやっていたけど、いっかいこの作業分いらないなーってなときに
git stash
をしてやり直したりするのに使っていた。
しかし、本当は違うらしい。(というよりこれは基本だと思う)
git stashの本当の使い道
作業を一度隠すためのgit stash
使いどき
- 途中で、違うタスク(緊急)な奴が降ってきた時に、今までの差分をセーブして、隠す。
代替としては一度commitしてからまとめるのもあり。
- テストファースト TDD
うん?ってなる人もいるかもしれない。
最近では?テストを最小に記述してからapplication codeを書こうみたいな。
だけど実際はテスト書く前にapplication codeを書くときもあるだろう。
そのときにapplication codeのみをgit stashして一度隠してからテストをはしらせてみて、失敗することを確認してから、もう一度git stash popで復元して、テストを走らせるみたいな流れ。
やりたいことはテストファーストとかわらないと思う。
言い忘れたけど、実際にいらない修正分もstashしたりしてもいいとは思う。まーcheckoutでもいいか。。。
って感じで、最近学んだ。
それは違うだろー!!!などの意見などあればお願いします。