環境構築
🚫 fatal: refusing to merge unrelated histories
無関係な履歴のマージが拒否された
😰 こんな症状
共通の祖先がない2つのリポジトリをマージしようとした。--allow-unrelated-historiesで許可できるよ。
🔍 原因
GitHubでREADME付きのリポジトリを作り、ローカルでもgit initして別々に履歴を作ってしまったよ。2つの履歴に共通の起点がないので、Gitが「これは別物では?」と警告するんだ。
❌ エラーが起きるコード
git pull origin main
# fatal: refusing to merge unrelated histories ✅ 直し方
1. git pull origin main --allow-unrelated-histories で強制マージする。 2. コンフリクトがあれば解決する。 3. 今後はGitHubでリポジトリを作るときREADMEを追加しないか、cloneしてから作業する。
✅ 修正後のコード
# --allow-unrelated-histories オプションを追加
git pull origin main --allow-unrelated-histories
# コンフリクトがあれば解決してcommit この解決法は役立ちましたか?
🔗 関連するエラー
- refusing to merge unrelated histories — 関連のない履歴をマージしようとしている
- error: failed to push some refs — pushが拒否された
- .gitignoreが効かない — 既にGitで追跡されているファイルは無視されない
- HEAD detached at — デタッチドHEAD状態
- .gitignoreが効かない(追跡済み) — 既にGit追跡されたファイル
📖 この問題を学べるレッスン
📝 関連ブログ記事
- プログラミングのエラーメッセージの読み方 — エラーの読み方を基礎から解説
- VS Codeのインストール方法 — インストールと初期設定を図解で解説
- プログラミング初心者が最初にやるべきこと5選 — 目的を決めて環境構築から