stash-pull-rebase.mdupdated 2026-08-01645 chars

未ステージ変更を​持ったまま​pullしたい​とき

.claude/settings.local.jsonのような​自動更新される​ファイルが​あると、​未ステージ変更​(=まだ​gitの​索引に​登録されていない​変更点)がgit pull --rebase(=リベース方​式で​リモートの​変更を​取り込むpull)を​ブロックする。​その​ファイルだけを​stash​(=変更を​一時的に​退避する​操作)し、​pullしてから​元に​戻せばよい。

手順

  • git stash push -m "tmp" <ファイル> — 邪魔な​ファイルだけを​stashする
  • git pull --rebase — これで​rebaseつきpullが​通るようになる
  • git stash pop — stashから​ファイルを​復元する

ポイント

  • 全体を​退避する​必要は​ない。stash pushに​単一の​ファイルを​指定すれば​よい
  • pop時に​競合​(=同じ​箇所への​変更が​ぶつかる​こと)が​出たら、​続行する​前に​手動で​解決する
  • どうせコミットしない​ファイルなら、.gitignoreに​追加する​ほうが​根本的な​解決に​なる

考え方

エラーメッセージは​敵ではなく、​次の​一手への​ヒントである。​「未ステージの​変更​あり」を​見た​瞬間に​stashパターンを​思い出せれば、​作業の​流れは​止まらない。

出典・参考

148 notestil