Git stashの使い方完全ガイド|save・pop・applyの違いを初心者向けに解説
旅行をしていると、「この景色を写真に残しておいて、あとでゆっくり見返そう」と思うことがありますよね。 Gitにも、それとよく似た機能があります。それがgit stashです。
開発中に「急ぎのバグ修正が入った」「別ブランチへ切り替えたい」「まだコミットするほどではない」という場面は意外と多くあります。 そんなときに作業内容を一時的に退避できるのがGit stashです。
この記事では、git stash save、git stash pop、git stash applyの違いから、実際の使い方まで初心者にもわかりやすく紹介します。
Git stashとは?作業内容を一時保存する便利な機能
Git stashとは、コミットしていない変更内容を一時的に保存するGitの機能です。
保存すると、現在の作業ディレクトリは変更前のクリーンな状態に戻るため、安心して別の作業へ移ることができます。
例えば次のような場面で活躍します。
- 急ぎの修正対応が発生した
- 別ブランチへ切り替えたい
- 実験的なコードを一旦退避したい
- まだコミットしたくない変更を保存したい
私も旅行中にブログを書いていると、急に別の記事を修正しなければならないことがあります。 そんなときはメモを残してバッグへしまうような感覚でGit stashを使っています。一度覚えてしまうと手放せない便利な機能です。
git stash saveの使い方
作業内容を一時保存するには次のコマンドを実行します。
git stash save このコマンドを実行すると、現在の変更内容がstashへ保存され、作業ディレクトリはクリーンな状態になります。
メッセージを付けて保存する
後から内容を見分けやすくするために、メッセージを付けて保存することもできます。
git stash save "ログイン画面修正" 複数のstashを保存する場合は、メッセージを付けておくことで何を保存したのかすぐ判断できます。
- コミットせずに変更内容を保存できる
- 作業ディレクトリがクリーンになる
- メッセージを付けると管理しやすい
保存したGit stashを確認する方法
現在保存されているstash一覧は次のコマンドで確認できます。
git stash list 実行例
stash@{0}: On main: ログイン画面修正 stash@{1}: On develop: レイアウト変更 保存した順番にstash@{0}、stash@{1}のようなインデックスが付与されます。
git stash popの使い方
一時保存した内容を復元するには次のコマンドを使用します。
git stash pop このコマンドでは最新のstashが復元されます。
さらに、復元が成功するとstash一覧から自動的に削除されるのが特徴です。
git stash popの特徴
- 最新のstashを復元する
- 復元後はstash一覧から削除される
- 通常はこちらを使うことが多い
git stash applyの使い方
stashを復元したいものの、保存データは残しておきたい場合はapplyを使用します。
git stash apply このコマンドでは変更内容だけが復元され、stash自体は削除されません。
何度も同じ変更内容を利用したい場合や、安全のためバックアップを残しておきたい場合に便利です。
特定のstashを復元する
一覧からインデックスを指定することもできます。
git stash apply stash@{0} 例えば最新ではなく、2番目に保存した内容を復元したい場合は対象のインデックスを指定します。
git stash popとgit stash applyの違い
| コマンド | 復元 | stashの削除 |
|---|---|---|
| git stash pop | 〇 | 削除される |
| git stash apply | 〇 | 削除されない |
使い分けはとてもシンプルです。
- 復元後に不要ならgit stash pop
- バックアップを残したいならgit stash apply
Git stashを使うメリット
- コミットせずに変更を保存できる
- ブランチ切り替えがスムーズになる
- 急な修正対応でも現在の作業を失わない
- 作業ディレクトリをクリーンな状態へ戻せる
- 実験的なコードも安心して退避できる
Gitを使い始めた頃は「コミットするほどでもないけれど変更を残したい」という状況が何度も訪れます。 そんなときにstashを知っているだけで、焦らずに開発を進められるようになります。
まとめ
Git stashは、開発効率を大きく向上させる便利な機能です。
- git stash save:変更内容を一時保存する
- git stash list:保存一覧を確認する
- git stash pop:復元してstashを削除する
- git stash apply:復元してstashを残す
旅行で荷物を一時的にコインロッカーへ預けるように、Git stashも作業を安全に預けられる便利な機能です。 開発中に「あ、別の作業を先にやらなきゃ」と思ったら、ぜひ活用してみてください。きっとGitでの開発がもっと快適になります。







0 件のコメント:
コメントを投稿