How do I resolve git saying "Commit your changes or stash them before you can merge"?

git, git-commit

Solution

You can't merge with local modifications. Git protects you from losing potentially important changes.

You have three options:

Commit the change using

git commit -m "My message"

Stash it.

Stashing acts as a stack, where you can push changes, and you pop them in reverse order.

To stash, type

git stash

Do the merge, and then pull the stash:

git stash pop

Discard the local changes

using `git reset --hard` or `git checkout -t -f remote/branch`

Or: Discard local changes for a specific file

using `git checkout filename`

Problem

I made some updates on my local machine, pushed them to a remote repository, and now I'm trying to pull the changes to the server and I get the message; ``` error: Your local changes to the following files would be overwritten by merge: wp-content/w3tc-config/master.php Please, commit your changes or stash them before you can merge. ``` So I ran, ``` git checkout -- wp-content/w3tc-config/master.php ``` and tried again and I get the same message. I'm assuming that `w3tc` changed something in the config file on the server. I don't care whether the local copy or remote copy goes on the server (I suppose the remote one is best), I just want to be able to merge the rest of my changes (plugin updates). Any ideas?

Original source

Related problems