Gitコマンド虎の巻

git stash

git stashは、ブランチの状態を一時退避したり戻したりするコマンドです。

stash(スタッシュ)を使うと現在の状態をそのまま退避しておくことができます。
例えば作業中に緊急な割り込み作業が入ってしまったけど、現在の作業は中途半端でコミットしたくない! というような場合にスタッシュに退避しておいて、割り込み作業が終わったらスタッシュから戻して元の作業を続けるというような事が可能です。

構文

(構文)
git stash [サブコマンド] [オプション]
【オプション】
オプション説明
--helpコマンドのヘルプを表示する

サンプル

現在の状態をスタッシュに一時退避する

git stash

現在の状態をスタッシュに名前(temp01)を付けて一時退避する

git stash save "temp01"

スタッシュから退避した状態を戻す

git stash pop

スタッシュに退避した「stash@{1}」を戻す

git stash pop stash@{1}

退避名はgit stash listで確認できます。

スタッシュに退避した状態の一覧を表示する

git stash list

スタッシュに退避した「stash@{0}」を削除する

git stash drop stash@{0}

スタッシュに退避した状態を全て削除する

git stash clear

スタッシュリストに残したまま、スタッシュの最新の作業を復元する

git stash apply

スタッシュリストに残したまま、「stash@{3}」を復元する

git stash apply stash@{3}

備考

  • stashは英単語で「こっそりしまう、隠す、蓄える」という意味があります。