Question

I had a small conflict in a .h header file in a project I'm working on. This project is tracked in Git.

Fortunately, the conflict was very simple to solve. I used

git mergetool

And chose the default (opendiff) which seemed to be FileMerge on my Mac. I made the appropriate changes, saved the file, and closed.

Git then asked me if the merge was successful, I said yes:

Was the merge successful? [y/n] y

But now, I have:

> git st
# On branch develop
# Changes to be committed:
#   modified:   MyHeader.h
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   MyHeader.h.BACKUP.52920.h
#   MyHeader.h.BASE.52920.h
#   MyHeader.h.LOCAL.52920.h
#   MyHeader.h.REMOTE.52920.h
#   MyHeader.h.orig

Which of those extra junk conflict files were created by FileMerge, and which by Git?

And more importantly: How do I remove them?

Was it helpful?

Solution

You can simply delete them like you would any other file. For example:

rm MyHeader.h.orig

Alternatively, if there are no other untracked files, then after you commit with

git commit -a

you may clean your repository with

git clean -n
git clean -f

git clean -n will tell you what git clean -f will do, so you can be sure it's what you want.

OTHER TIPS

If they are the only untracked files, you can use git clean to delete them. Run it once with the -n flag to see what will be deleted then if you are sure, run it with -f. Don't use it if you have untracked files you want to keep!

First commit your merge.

Once you're satisfied that all is well, simply remove these extra files manually (using rm <filename>, for example).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top