git stash は、今の変更を一時退避して作業ツリーをきれいな状態へ戻すための Git コマンドです。
まだ commit したくない変更をいったん避けて、別の作業や git pull を進めたいときによく使います。
まず押さえたいポイント
- 変更を一時退避するためのコマンド
git pull前の退避でかなりよく使うstash popやstash applyで戻せる
どんな場面で使うか
- 途中の変更を残したまま pull したい
- 緊急修正へ一時的に切り替えたい
- branch を切り替える前に作業ツリーを整えたい
どんなふうに理解するとよいか
初心者向けには、今の机の上を一時的に引き出しへしまう イメージで考えると分かりやすいです。
変更を消すのではなく、あとで戻せる形で避けておくのがポイントです。
押さえておきたい注意点
stash は便利ですが、長く積みっぱなしにすると どれが何の退避だったか 分からなくなりやすいです。
メッセージを付けたり、戻したあとに git status を見たりする習慣があるとかなり安全です。
実務で見るポイント
git stash push -u -m "..."が使いやすいpop後に merge conflict が出ることはある- 退避のつもりでも永久保管にはしない方がよい