Git Fix: fatal: refusing to merge unrelated histories Error


git - fatal - refusing to merge unrelated histories
Error:
% git pull origin my_yellow_branch
From https://github.com/user/myrepo
* branch my_yellow_branch
-> FETCH_HEAD

% git checkout my_yellow_branch
% git merge my_green_branch

fatal: refusing to merge unrelated histories

Reason for the error?

This error occurs when you try to merge two branches that do not share a common ancestor. This would usually happens when you try to merge a branch that was created independently of the branch you are currently on.

Here in the above example we have two branches, my_yellow_branch and my_green_branch, and we are trying to merge my_green_branch into my_yellow_branch. However, my_yellow_branch was created independently and does not have a common ancestor with my_green_branch.


How to fix the error?

Make use of the option (flag) --allow-unrelated-histories

To fix this error, you can use the --allow-unrelated-histories flag when performing a git merge.

Using this flag git allows to merge two branches even when they do not have a common ancestor.

Examples:
% git checkout my_yellow_branch
% git merge --allow-unrelated-histories branch_to_merge
% git commit -m "Fix: Merged unrelated histories"
% git push origin my_yellow_branch

Reference:

https://git-scm.com/docs/git-merge#Documentation/git-merge.txt---allow-unrelated-histories

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright ยฉ Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap