Git Stashで作業を一時避難


実務で作業を途中でコミットしたくないけど、他のブランチで作業しないといけないということがあり、
git stashを使って作業を一時避難しました。

git stashコマンドで作業を一時避難


git stash
git stash save
//saveはつけてもつけなくても良い

ワークツリーやステージでの変更内容をstashという場所に一時的に避難させることができる。
なので、ワークツリーやステージでの変更が消えます。

実際にやってみます。。
ファイルを変更し、git status を行うと下記のように変更が確認できます。


git stash -u
//一時的に避難させる

下記コマンドで確かめると、変更が消えています。


git status


避難した作業を確認


因みに、避難した作業を確認することができます。

git status list
//避難した作業を表示

こんな感じで、確認できます。。
git stashを何度も行うと、stash@{0},stash@{1},stash@{2}と生成されていきます。
最新のstashは{0}になります。

避難した作業を戻す


避難した作業を戻してみます。

git stash apply stash@{0}
//避難した作業を戻す

はい!変更が戻ってきました。

避難した作業を削除


stashすると、どんどん溜まっていきます。
なので、削除しましょう。

git stash drop stash@{0}
//避難した作業を削除
git stash clear
//避難した作業を全削除

上記、コマンドを実行し、git stash list を行うとstashした作業が消えていることがわかります。
stashが溜まり、一気に削除するときはgit stash clearをしましょう。

stashした作業が消えるだけで、作業内容は消えないので安心して使ってみてください。。

実務でとても便利だと感じたのでshareします。

以上