はじめに
Gitでバージョン管理を行っているローカルリポジトリで
ワークツリー内の変更内容を一時的に保存(現在の作業を一時的に退避)する方法について
よく使用するコマンドの覚書を残します。
コマンド
# 追跡されていないファイルも含めて名前を付けて退避する
$ git stash save -u "sample_stash_name"
# 補足:save時にpオプションを指定することで部分的に(hunkという単位で)退避することもできる
例:git stash save -p "sample_stash_name"
# 退避した作業一覧を確認
$ git stash list
# 退避した作業の詳細を確認
$ git stash show stash@{number}
# 補足:show時にpオプションを指定することで差分(diff)を確認することができる
例:git stash show -p stash@{number}
# 退避した作業を指定して元に戻す(applyで戻した作業は退避一覧から削除されない/popコマンドだと削除される)
$ git stash apply stash@{number}
# 作業が戻っていることを確認してから削除
$ git stash drop stash@{number}
※「sample_stash_name」及び「number」は適宜読み替えること。