テック技報最新号へ →
コード

Git: 新規ファイルも退避するなら git stash -u

普通の git stash は未追跡ファイルを残す。作ったばかりのファイルも含めて片付けたいときは git stash -u(--include-untracked)。

@tane_log · 投稿 2026-11-05
#git#stash#workflow

使う場面

作業ツリーをきれいにして別ブランチへ移りたいのに、新規追加したファイルだけ残って邪魔なとき。「stash したのにまだある」の定番原因。

やり方

bash
# 追跡済みの変更だけ退避(未追跡は残る)
git stash

# 未追跡ファイルも含めて退避
git stash -u
# または
git stash --include-untracked

# 戻す
git stash pop

注意点

  • -u は未追跡ファイルを一時的に消して退避するので、stash を落とすと復元できなくなる。重要な新規ファイルは先に git add してから通常の stash でもよい。
  • バイナリや巨大な生成物が未追跡だと stash が重くなる。先に掃除するか .gitignore に入れる。

出典

X の元の投稿を開く