🔖
作業を一時退避するコマンド git stash の使い方
はじめに
Gitを使って開発をしていると、「今の作業を一時的に保留にしたいけれど、コミットはしたくない」という場面に出くわすことがあります。
そんなときに便利なのが、git stash というコマンドです。
本記事では、git stash の基本的な使い方、実務でよく使われるオプション、気をつけたい注意点について解説します。
git stashとは
git stash は、現在の作業ツリーの変更内容を一時的に退避(stash)して、
作業ディレクトリをクリーンな状態に戻すためのコマンドです。
例えば、以下のようなときにgit stashが役に立ちます。
- 急に別のブランチに移動しなければならない
- 今の作業を中断したいけどコミットはしたくない
基本的な使い方
作業を一時保存する
git stash
上記コマンドを実行すると、
以下の両方が stash に保存され、作業ディレクトリがクリーンになります。
- ステージされた変更(
git add済み) - ステージされていない変更
よく使うオプション
名前をつけて保存する
git stash push -m "ログイン画面の途中作業"
後で見返したときに分かりやすくなります。
特定のstashを確認・適用する
git stash list
出力例:
stash@{0}: WIP on main: abc1234 ログイン画面の途中作業
stash@{1}: WIP on feature/button: def5678 ボタン実装中
リストを確認して、特定の stash を選んで復元できます。
git stash apply stash@{1}
適用してそのstashを削除する
git stash pop
apply の後に stash を削除する処理も行います。
「もう戻す必要がない」ときに便利です。
注意点
apply や pop を使うと、競合(conflict) が発生することもあります。
また、stash はあくまで一時保存なので、放置しすぎると何を保存したか分からなくなりがちです。
stash の中身は意外と忘れるので、なるべく早めに戻しましょう。
まとめ
git stash を覚えておくと、
「現在の作業をいったん置いて、別のタスクに切り替えたい」ときにとても便利です。
-
git stash:作業を一時保存 -
git stash apply:復元 -
git stash pop:復元して削除 -
git stash list:確認 -
git stash push -m:名前付きで保存
上手に活用すれば、柔軟で効率的な開発フローを実現できます。
まずは試してみて、自分なりの活用方法を見つけてみてください。
Discussion