🔖
作業を一時退避するコマンド 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