Important: If you have any local changes, they will be lost. With or without --hard option, any local commits that haven’t been pushed will be lost.

If you have any files that are not tracked by Git (e.g. uploaded user content), these files will not be affected

I think this is the right way:
git fetch --all

Then, you have two options:
git reset --hard origin/master

OR If you are on some other branch:
git reset --hard origin/<branch_name>

Explanation:

git fetch downloads the latest from remote without trying to merge or rebase anything.
Then the git reset resets the master branch to what you just fetched. The --hard option changes all the files in your working tree to match the files in origin/master

2 thoughts on “How do I force “git pull” to overwrite local files?

  1. cd ~/.PhpStorm[version]
    rm config/eval/PhpStorm[version].evaluation.key
    rm config/options/options.xml
    cd ~/.java/.userPrefs/jetbrains
    rm -rf phpstorm

    windows version (not a batch actually, may come)

    cd C:\Users\\.PhpStorm[version]
    del config/eval/PhpStorm[version].evaluation.key
    del config/options/options.xml

    open regedit
    go: HKEY_CURRENT_USER\Software\JavaSoft\Prefs
    go: HKEY_CURRENT_USER\Software\JavaSoft\Prefs\jetbrains\phpstorm (remove all folders)
    remove phpstorm key

Leave a Reply

Your email address will not be published. Required fields are marked *