はじめに
開発中に「今の変更を一時的に保存して、後で戻したい…」と思うことはありませんか?
そんなときに便利なのが 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 の使い方を忘れた」と思ったときにすぐ見返せるよう、ブックマークしておくのがオススメです!
その他のコマンドについて詳しく知りたい方は、公式ドキュメントを参考にしてください。



コメント