How do I fix a merge conflict due to removal of a file in a branch?

git, git-merge, merge-conflict-resolution

Solution

The conflict message:

CONFLICT (delete/modify): res/layout/dialog_item.xml deleted in dialog and modified in HEAD

means that `res/layout/dialog_item.xml` was deleted in the 'dialog' branch you are merging, but was modified in HEAD (in the branch you are merging to).

So you have to decide whether

- remove file using "`git rm res/layout/dialog_item.xml`"

or

- accept version from HEAD (perhaps after editing it) with "`git add res/layout/dialog_item.xml`"

Then you finalize merge with "`git commit`".

Note that git will warn you that you are creating a merge commit, in the (rare) case where it is something you don't want. Probably remains from the days where said case was less rare.

Problem

I have create a `dialog` branch and when I try to merge it to `master` branch. There are 2 conflicts. I don't know how to resolve `CONFLICT (delete/modify)`. Can you please tell me what to do? ``` $ git checkout master $ git merge dialog CONFLICT (delete/modify): res/layout/dialog_item.xml deleted in dialog and modified in HEAD. Version HEAD of res/layout/dialog_item.xml left in tree. Auto-merging src/com/DialogAdapter.java CONFLICT (content): Merge conflict in src/DialogAdapter.java Automatic merge failed; fix conflicts and then commit the result. ``` I have opened `src/DialogAdapter.java`, fixed the conflict and did a `git add src/DialogAdapter.java`. What else do I need to do?

Original source

Related problems