Git がリベース時に無関係な履歴のマージを拒否する 質問する

Git がリベース時に無関係な履歴のマージを拒否する 質問する

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

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

私の Git バージョンは 2.9.0 です。以前のバージョンでは問題なく動作していました。

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

ベストアンサー1

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

その理由は、Git 2.9 以降でデフォルトの動作が変更されたためです。

「git merge」は、以前はデフォルトで共通ベースを持たない 2 つのブランチのマージを許可していましたが、その結果、既存のプロジェクトのまったく新しい履歴が作成され、その後、何も知らないメンテナーによってプルされ、不要な並行履歴が既存のプロジェクトにマージされる可能性がありました。このコマンドは、デフォルトでこれを許可しないように--allow-unrelated-histories設定され、まれに独立して開始された 2 つのプロジェクトの履歴をマージする場合に使用するエスケープ ハッチオプションが追加されました。

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

詳しくはこの回答で見つけることができます。

おすすめ記事