リベース時に関係のない履歴のマージを拒否するGit
git rebase origin/development "の最中に、Gitから以下のエラーメッセージが表示されました。
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
私のGitのバージョンは2.9.0です。以前のバージョンでは問題なく動作していました。
新しいリリースで導入された強制フラグを使って、無関係な歴史を許可するリベースを続けるにはどうしたらいいですか?
1858
3
Git 2.9からデフォルトの動作が変わりました。
詳細はGit release changelogを参照してください。
allow-unrelated-histories`を使えば、強制的にマージを行うことができます。
私の場合は、特にGitリポジトリをリモートで追加した後の最初のプルリクエストで、毎回「fatal: refusing to merge unrelated history」というエラーが出ていました。
allow-unrelated-histories` フラグを使用すると、このようにプルリクエストが動作しました。
私もこれには苦労しましたが、なんとか回避策を見つけることができました。
上記のようなエラーが発生した場合、マージコミットをチェリーピックしてからリベースを続行してください。