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