【Git】git stashで追加したファイルも一時退避できる?初心者向けに徹底解説!

【Git】git stashで追加したファイルも一時退避できる?初心者向けに徹底解説!

投稿日: 2025年05月27日

Tips
学習振り返り
要約
  • git stashは、現在の作業内容を一時的に保存するためのコマンドで、作業ディレクトリをクリーンな状態にします。
  • 未追跡のファイルを含めてstashするには、-uオプション、.gitignoreされたファイルを含める場合は-aオプションを使います。
  • メッセージを付けてstashするには、git stash push -m 'メッセージ'を使用することが推奨されており、後から作業内容を確認しやすくなります。

🧩 そもそも「stash」って何?

Gitを使って開発していると、**「ちょっと別の作業をしたいけど、今の作業内容を一旦どこかに退避しておきたい」**という状況になることがあります。

そんなときに便利なのが、**git stash(スタッシュ)**です。

stash は、現在作業中の変更内容を 「一時的に避難させておけるコマンド」です。避難させた作業は後から簡単に元に戻すことができるので、非常に便利です。


📦 例えるなら…

git stash を使うことは、机の上の書類を一時的に引き出しにしまって、別の作業をするようなものです。終わったらまた引き出しから取り出して元に戻せます。


💡 この記事のテーマ

この記事では、以下のような疑問に答えていきます:

  • git stash ってどう使うの?

  • git stash save って何?

  • git add したけどまだコミットしてないファイルもstashできる?

  • 未追跡のファイル(新規作成ファイル)はstashできる?

初心者の方にもわかりやすく、実際のコマンド例を交えて解説していきます。

🔰 git stashの基本的な使い方

作業中の変更を一時退避するには、以下のコマンドを実行します。

git stash

これだけで、インデックス(git add)済みのファイルや、編集したファイルの変更点が一時的に保存され、作業ディレクトリがクリーンな状態になります。

📝 git stash saveとは?

実は以前は git stash save という書き方がよく使われていました。

git stash save "作業内容のメモ"

このコマンドは、stashに「メッセージ(説明)」を付けて保存するための方法です。

📌 注意:git stash saveは非推奨に

現在のGitでは、git stash save非推奨とされており、代わりに以下のように push を使うことが推奨されています:

git stash push -m "作業内容のメモ"

このようにすることで、メッセージ付きでstashに保存できます。

git add 済みのファイルはstashできる?

答えは Yes(できます)

git add newfile.txt
git stash

このように git add 済みのファイルは、通常の git stash で退避されます。

git add していない未追跡ファイルは?

デフォルトの git stash では、**未追跡ファイル(Untracked files)**は対象外です。

touch untracked.txt
git stash  # → untracked.txt はstashされない!

🔧 未追跡ファイルも一緒にstashするには?

オプション -u(または --include-untracked)を付けましょう。

git stash -u

🧹 .gitignoreされたファイルまでstashしたい場合は?

git stash -a  # --all の略

このコマンドは、.gitignore されたファイルもstash対象に含めます。使用には注意が必要です。

🔍 stashの確認・復元

【Git】git stashで追加したファイルも一時退避できる?初心者向けに徹底解説!|ShiftBブログ


🧪 使用例まとめ

# 通常のstash
git stash

# メッセージ付きでstash(推奨)
git stash push -m "ちょっと作業を中断するため保存"

# addしてないファイルも含める
git stash -u

# .gitignoreファイルまで含める
git stash -a

📝 まとめ

【Git】git stashで追加したファイルも一時退避できる?初心者向けに徹底解説!|ShiftBブログ

👀 おわりに

git stash は、ちょっとした切り替え作業や、ブランチを切り替える前に作業内容を避難させたいときに非常に便利なコマンドです。特に push -m を使ったメッセージ付き保存は、後から何の作業をstashしたのかがわかりやすくなるのでおすすめです。

シェア!

Threads
user
さかした
おじさんでも学べる!をモットーに。 以前はRuby(3年)、今は React / Next.js を中心に、学習中。
Loading...
記事一覧に戻る
Threads
0