はじめに
開発中に「今の変更を一時的に保存して、後で戻したい…」と思うことはありませんか?
そんなときに便利なのが git stash
です!
git stash
を使えば、コミットせずに作業途中の変更を退避し、好きなタイミングで元に戻せます。
本記事では、知っておきたい git stash
の基本コマンド5つを紹介します!
1. 変更を退避する
git stash push -u -m "作業中の変更を退避"
-
push
は省略可能なので、git stash -u -m "作業中の変更を退避"
でも同じ動作になります -
-u
は未追跡ファイルを含めるオプション。指定しない場合、新規作成したファイルはスタッシュされません -
-m
はスタッシュにメッセージを付けられるオプション。メッセージを付けることでgit stash list
を実行したときに内容を確認しやすくなります
2. 退避した変更を一覧表示する
git stash list
# 実行結果(保存されているスタッシュの一覧)
stash@{0}: On feature-branch: 作業中の変更を退避
stash@{1}: On main: バグ修正用の一時退避
-
stash@{0}
が最新のスタッシュ、stash@{1}
は1つ前のスタッシュを指します
3. 退避した変更を適用する
git stash apply stash@{0}
-
stash@{0}
(最新のスタッシュ)の変更を適用する - 実行後も
git stash list
にスタッシュは残る - 過去のスタッシュを適用したい場合は、
git stash apply stash@{1}
(1つ前)のように指定できる
4. 退避した変更を削除する
git stash drop stash@{0}
-
stash@{0}
(最新のスタッシュ)だけを削除し、他のスタッシュは残る
5. 退避した変更を適用しつつ削除する
git stash pop stash@{0}
-
apply
+drop
を1回のコマンドで実行 -
apply
との違いは、適用後にスタッシュが削除されるかどうか
最後に
覚えておくと便利な git stash
コマンドを紹介しました。
この5つを押さえておけば、基本はバッチリです!
「git stash の使い方を忘れた」と思ったときにすぐ見返せるよう、ブックマークしておくのがオススメです!
その他のコマンドについて詳しく知りたい方は、公式ドキュメントを参考にしてください。