Just do IT

思うは招く

git stash の使い方

どんなときに git stash を使うのか?

「今この Issue やってるけど、この前出したプルリクのレビューがきた。少ない修正なので、そっちをすぐやってまたプルリクを出したい。」

Git では、今いるブランチで変更を加えてから別のブランチへ移動すると、その変更分まで影響してしまう。

たとえば、ブランチA で作業をしていて、ブランチBをすこし修正したいと思ったとき。

なにもせずに

#ブランチAにいると仮定して
git checkout ブランチB

をすると、ブランチAの変更が、ブランチBにまで移動してしまう。

このとき、stash で今の変更分を一時退避させることができる。

# ブランチA
$ git stash

こんな感じで、作業中の変更点を一時的に脇においておける。

git stash 使い方

一時退避させる。

$ git stash

コメントをつけて stash する方法もある。

$ git stash -u "コメント"

そのブランチで最後のstashした変更を反映したいとき(戻したいとき)

$ git stash apply

stashした作業リストを一覧する。

$ git stash list
stash@{0}: On textarea-autosize: テキストエリアのリサイズ

退避した変更点を指定して取り出す。

git stash apply stash@{0}

参考