環境構築
💾 error: Your local changes would be overwritten
ローカルの変更が上書きされてしまう
😰 こんな症状
コミットしていない変更があるのにブランチを切り替えようとした。先にcommitかstashしよう。
🔍 原因
作業中のファイルがあるのに、別のブランチに切り替えようとしたよ。切り替えると今の変更が消えてしまうので、Gitが止めてくれているんだ。
❌ エラーが起きるコード
git switch main
# error: Your local changes to the following files would be overwritten by checkout:
# index.html
# Please commit your changes or stash them before you switch branches. ✅ 直し方
1. git stash で一時保存してからブランチを切り替える。 2. git commit で変更を確定してから切り替える。 3. 変更を捨てていいなら git checkout -- ファイル名。
✅ 修正後のコード
# 方法1: 一時保存してから切り替え
git stash
git switch main
git stash pop # 戻ったら復元
# 方法2: コミットしてから切り替え
git add .
git commit -m "WIP"
git switch main この解決法は役立ちましたか?
🔗 関連するエラー
- .gitignoreが効かない — 既にGitで追跡されているファイルは無視されない
- HEAD detached at — デタッチドHEAD状態
- .gitignoreが効かない(追跡済み) — 既にGit追跡されたファイル
- refusing to merge unrelated histories — 関連のない履歴をマージしようとしている
- Your branch is behind — リモートに新しいコミットがある
📖 この問題を学べるレッスン
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説
- VS Codeのインストール方法 — インストールと初期設定を図解で解説
- プログラミング初心者が最初にやるべきこと5選 — 目的を決めて環境構築から