git stashとは?基本知識
git stashとは、作業中の変更を一時的に退避(保存)し、作業スペースをきれいにするための便利なgitコマンドです。
git stashを使う場面:
- 緊急で他ブランチの修正作業を行う必要があるとき
- 作業途中の変更を失わずに一旦避けたいとき
- マージやpullの前に作業領域をクリーンにしたいとき
作業をstashに一時退避させておけば、後でいつでも元に戻すことができます。
git stashの基本コマンド
git stashの基本的な使い方は非常にシンプルです。
作業中の変更を一時退避する:
git stash
退避した変更を元に戻す:
git stash pop
これら二つの基本コマンドだけで、変更退避と復元が簡単に行えます。
git stashの手順と流れ
git stashを使う基本的な流れは以下の通りです。
- 作業中の変更をstashへ退避
git stash
- 必要な作業をする(例:他ブランチに移動、pull、マージなど)
- 元の変更をstashから復元
git stash pop
この流れで、作業をスムーズに中断・再開できます。
git stashの内容を確認する
stashに退避した内容を確認するには、次のコマンドを使います。
stashにある変更の一覧を表示:
git stash list
stashの詳細(差分)を確認したい場合:
git stash show -p
これにより、退避した変更の内容を確認してから復元できます。
git stashから変更を戻す
stashに退避した変更を復元する方法は主に二つあります。
① stashから変更を取り出してstashから削除(通常はこちら):
git stash pop
② stashから変更を取り出してstashには残したままにする(複数回使いたい場合):
git stash apply
用途や状況に応じて使い分けましょう。
git stashを削除する方法
stashの内容が不要になった場合は、stashの項目を削除できます。
最新のstash項目を削除する場合:
git stash drop
特定のstashを指定して削除する場合:
git stash drop stash@{番号}
すべてのstashをまとめて削除する場合:
git stash clear
削除前に内容を確認して、不用意に消さないよう注意しましょう。
git stashよくあるエラー
git stashを利用する際にありがちなエラーをまとめました。
- stash pop時のコンフリクト(競合)
stashから変更を取り出す際に競合が生じることがあります。
その場合は、競合を手作業で解決し、修正後にコミットしてください。 - stash apply後に変更が反映されない
stash項目を間違えて指定している可能性があります。git stash list
でstash番号を再確認しましょう。
エラーが起きたら、メッセージをよく読み、落ち着いて対応しましょう。
git stash使用時の注意点
git stashを利用する際の注意点は以下の通りです。
- stashに退避した変更はコミットされていないため、安全に保管したい場合はコミットまたは別ブランチに保存しましょう。
- stashは複数作れますが、どれがどの変更内容か忘れやすいため、stash listで定期的に確認するとよいでしょう。
- 競合が起きる可能性があるので、stash popやapplyの前には最新の変更をpullしておくと安全です。
これらの注意点を意識してgit stashを安全に使ってください。
git stash便利コマンド集
よく使われるgit stashの便利なコマンドをまとめました。
- 作業中の変更をstashに退避(コメント付き)
git stash save "コメント"
- stashの一覧を確認
git stash list
- stashの差分を確認
git stash show -p stash@{番号}
- stash変更を復元して削除
git stash pop stash@{番号}
- stashを復元し削除しない
git stash apply stash@{番号}
- 全stashをまとめて削除
git stash clear
作業効率アップのため、ぜひ覚えておきましょう。
git stashコマンド早見表
最後にgit stashのコマンド早見表をまとめました。
操作内容 | コマンド |
---|---|
stashに変更を一時退避 | git stash |
コメント付きで退避 | git stash save "コメント" |
stash一覧の確認 | git stash list |
stashの内容を差分表示 | git stash show -p |
変更を復元しstash削除 | git stash pop |
復元後にstashを残す | git stash apply |
特定のstashを削除 | git stash drop stash@{番号} |
全stashを一括削除 | git stash clear |
git stashを活用し、開発作業をさらに効率的に進めましょう。