リベースで無関係な履歴をマージすることを拒否するGit

2016年06月21日に質問されました。  ·  閲覧回数 1.5M回  ·  ソース

Shubham Chaudhary picture
2016年06月21日

git rebase origin/development 、Gitから次のエラーメッセージが表示されます。

fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef

私のGitバージョンは2.9.0です。 以前のバージョンでは正常に機能していました。

新しいリリースで導入された強制フラグを使用して、無関係の履歴を許可するこのリベースを続行するにはどうすればよいですか?

回答

blue112 picture
2016年06月21日
2837

Git 2.9以降、デフォルトの動作が変更されました。

「gitmerge」は、デフォルトで共通ベースを持たない2つのブランチをマージできるようにするために使用されていました。これにより、既存のプロジェクトの新しい履歴が作成され、疑いを持たないメンテナによってプルされ、不要な並列履歴が既存のプロジェクトにマージされました。 。 このコマンドは、デフォルトでは--allow-unrelated-historiesオプションが使用されます。

詳細については、 Gitリリースの変更ログを参照してください。

--allow-unrelated-historiesを使用して、強制的にマージを実行できます。

adi picture
2016年10月18日
1323

私の場合、エラーはすべての試行でfatal: refusing to merge unrelated historiesた。特に、Gitリポジトリをリモートで追加した後の最初のプルリクエストでした。

--allow-unrelated-historiesフラグの使用は、次のようにプルリクエストで機能しました。

git pull origin branchname --allow-unrelated-histories
Ogbonna Vitalis picture
2017年11月21日
611

次のコマンドを試してください。

git pull origin master --allow-unrelated-histories

これで問題が解決するはずです。

Adithya Bhat picture
2017年06月09日
285

最初にローカルリポジトリを設定したときにこのエラーが発生しました。 次に、GitHubにアクセスして、新しいリポジトリを作成しました。 それから私は走った

git remote add origin <repository url>

プッシュまたはプルしようとすると、毎回同じfatal: unrelated_historiesエラーが発生しました。

これが私がそれを修正した方法です:

git pull origin master --allow-unrelated-histories
git merge origin origin/master
... add and commit here...
git push origin master
VIKAS KOHLI picture
2018年12月07日
156

これを行うには、次のコマンドを入力します。

git pull origin branchname --allow-unrelated-histories

例えば、

git pull origin master --allow-unrelated-histories

参照:

GitHubの無関係な履歴の問題

MJ Montes picture
2019年04月11日
141
git pull origin <branch> --allow-unrelated-histories

Vim編集ウィンドウにルーティングされます:

  • コミットメッセージを挿入
  • 次に、 Escキーを押して(「挿入」モードを終了します)、次に:(コロン)、次にx (小さい「x」)を押し、最後にEnterキー押してVimを終了します。
  • git push --set-upstream origin <branch>
Aamir Kalimi picture
2018年11月04日
101

私も同じ問題を抱えていました。 これを試して:

git pull origin master --allow-unrelated-histories 

git push origin master
Daniel petrov picture
2017年01月20日
48

git pull --rebase development試しください

Amir Hossein Ghasemi picture
2020年03月01日
47

Android StudioおよびIntelliJの場合:

まず、すべてをコミットし、競合を解決します。

次に、IDEの下からターミナルを開き、次のように入力します。

git pull origin master --allow-unrelated-histories

今、あなたは押すことができます。

jyotishman saikia picture
2020年08月31日
43

このコマンドを実行したところ、問題は解決しました。 1

git pull origin branchName --allow-unrelated-histories