91

I merged branch dog into animal. When I go to commit, I get the following:

Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution
both deleted:       ../public/images/originals/dog.ai
added by them:      ../public/images/original_files/dog.ai

I had different directory names and file names in each branch. The animal branch has the changes that I want.

When I go to reset the head, it doesn't work. And when I go to take any other git action (remove, checkout, etc), I get a path not found error.

What commands do I need to execute to resolve this?

Rob Bednark
  • 19,968
  • 18
  • 67
  • 100
keruilin
  • 14,638
  • 30
  • 103
  • 172

2 Answers2

85

All you should need to do is:

# if the file in the right place isn't already committed:
git add <path to desired file>

# remove the "both deleted" file from the index:
git rm --cached ../public/images/originals/dog.ai

# commit the merge:
git commit
Rob Bednark
  • 19,968
  • 18
  • 67
  • 100
Cascabel
  • 422,485
  • 65
  • 357
  • 307
54

Another way of dealing with this situation if your files ARE already checked in, and your files have been merged (but not committed, so the merge conflicts are inserted into the file) is to run:

git reset

This will switch to HEAD, and tell git to forget any merge conflicts, and leave the working directory as is. Then you can edit the files in question (search for the "Updated upstream" notices). Once you've dealt with the conflicts, you can run

git add -p

which will allow you to interactively select which changes you want to add to the index. Once the index looks good (git diff --cached), you can commit, and then

git reset --hard

to destroy all the unwanted changes in your working directory.

naught101
  • 16,068
  • 19
  • 81
  • 128
  • What is `"Updated upstream" notices`? – Saikat Jul 07 '17 at 05:33
  • 2
    @takias: the markers in each file that look like: `<<<<<<< [branch] \n [content] \n ==== \n [content] \n [branch] >>>>>>>`. I think the format may have chanced slightly since I wrote this, but see https://wincent.com/wiki/Git_merge_conflict_cheatsheet for an example. – naught101 Jul 07 '17 at 06:21