gitでコミットせずに、作業を保存したいときがあるとおもいます。
例えばあるブランチで作業していて、実は今の作業内容が別のブランチでの反映が必要になったときなどです。
gitはブランチの切り替え(git checkout)を使うと、コミットしていない保存内容は全て消えてしまいます。
そのため、コミットしなければある作業内容を移行することはできません。
そんなときに一時的に作業を保存することができればとても便利ですね。
そんな時に使えるのが git stash です。
作業の保存
保存方法はとても簡単で現状のブランチで作業中にgit stashと打ちます。(この時点で保存され、下記のようなメッセージが出力されます。)
1 2 |
Saved working directory and index state WIP on ブランチ名: リビジョン コメント HEAD is now at リビジョン番号 コメント |
内容の確認
git stash list で保存データの日にちなどを見ることができます。
git show -p で具体的なソースの内容を見ることができます。
stashの内容を現ブランチに吐き出す
この後、ブランチを切り替えましょう。
git stash pop で保存されていた内容が現ブランチに吐き出されます。一時領域に保存されていたstashは消滅します。( git stash apply でもいけます。その場合はstashの内容が一時領域から消滅しないようです。)