← エラー辞典に戻る

環境構築

refusing to merge unrelated histories

関連のない履歴をマージしようとしている

こんな症状

git pullで「refusing to merge unrelated histories」と表示される。新規リポジトリの設定で起きやすいよ。

まず試す

git pull origin main --allow-unrelated-histories を実行する。

env
git pull origin main --allow-unrelated-histories

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • GitHubで作るときREADMEを追加した
    → git pull origin main --allow-unrelated-histories で履歴を結合する。
  • 結合時にコンフリクト
    → 該当ファイルを解決して commit する。
  • 今後避けたい
    → 空のリポジトリ(README追加なし)を作ってから push する。

なぜ起きる?

ローカルとリモートのリポジトリに共通の祖先コミットがないよ。GitHubで新規リポジトリを作るときにREADMEを追加すると、ローカルのgit initとは別の履歴が作られるんだ。Gitは関連のない2つの履歴をマージすることをデフォルトで拒否するよ。

✕ エラーが起きるコード
$ refusing to merge unrelated histories
# エラー発生
✓ 直したコード
# git pull origin main --allow-unrelated-histories を実行する。

✅ 直ったか確認

pull が完了し、push もエラーなく通ればOK。

🆘 まだ直らないときは

履歴を1つにしたいだけなら、リモートの内容を取り込んでから自分の変更を足すのが安全。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

環境構築ガイド(基礎から)で根本から理解する →

✏️ 手を動かして練習

練習ドリル一覧で実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 環境構築ガイドで基礎を学ぼう!

エラーの原因を根本から理解するには、基礎を体系的に学ぶのが近道です。完全無料・登録不要。

環境構築ガイドを始める →

❓ 関連するQ&A