はじめに
git を利用していると・・・・
「作業途中で他の作業をしないといけなくなった。コミットはしたくないけど、変更したファイル群を残しておきたい」
「git rebase -i
コマンドを使いたいけど、以下のようなエラーが出たので、ファイル群を一時退避しておかないといけない。」
error: cannot rebase: You have unstaged changes.
error: Please commit or stash them.
というときに git stash
コマンドを利用すると思います。
ただ、作業を再開する場合に特定のファイルのみを取り出したい場合があるかと思います。
今回は、git stashしたファイル群の中から特定のファイルのみを取り出す方法を記載します。
stashしたファイル群から特定ファイルを取り出す
# stashリストを確認
$ git stash list
# 出力例
stash@{0}: WIP on test: xxxx
stash@{1}: WIP on commit-sample: xxxx
# とあるstashリストのファイルの差分を確認する
$ git diff stash@{[番号]} [ファイル名]
# stashしたファイル群から特定ファイルを取り出す
$ git checkout stash@{[番号]} [ファイル名]