Git Stash を使う

Git を使っていて、コミットはしないけどブランチ切り替えとかでローカルの変更を退避したい。そんなときには git stash コマンドを使う。

# ローカルのコミット前の変更を保存する (どっちでも同じ)
$ git stash
# (こっちでも同じ)
$ git stash save

# 保存されている Stash の一覧を確認する
# Stash の名前は「stash{0}」などと振られていることが分かる
$ git stash list
# Diff 付きで確認するには -p オプション
$ git stash list -p

# Stash に含まれるファイル名などを確認する
# ココでは「stash{0}」を確認する例
$ git stash show stash{0}

# Stash 一覧から指定の Stash を取り出してローカルに反映し直す
# 一覧には当該 Stash が残ったままになる
$ git stash apply stash{0}

# Stash 一覧から指定の Stash を消す
$ git stash drop stash{0}

# 指定の Stash を取り出してローカルに反映し、一覧から消す
# (apply と drop を同時に行う)
$ git stash pop stash{0}

基本は

という使い方になるかと。覚えてしまえば便利。