I have following problem:
I have some common commit A for two branches Branch1 and Branch2.
- Branch1 is a public branch (lies on server)
- Branch2 is a local branch
In Branch1 I changed file (BAD_folder/somefile.txt
). Changes were pushed to server. In Branch2 I renamed BAD_folder
to folder
and made some changes in somefile.txt
. I want to merge Branch1 with Branch2, but I get a merge conflict in BAD_folder/somefile.txt
file.
How can I resolve this?
You can rename folder
to BAD_folder
, merge or rebase Branch2
(which might be better when this branch is local) and rename folder back.
git checkout -b _tmp Branch1
git mv folder BAD_folder && git commit
git merge Branch2
git mv BAD_folder && git commit
When you did a rebase, you can do an additional git rebase -i Branch1
and remove the two git mv
operations.
merge
in point 3 works much better when filenames did not change but you might still have to resolve conflicts.