How to force git pull to overwrite local files ?
📋 Table Of Content
This article is about how to force
git pull to overwrite local files.
Sometimes when we do a pull request on a particular branch we get error like:
error: Untracked working tree file 'images/icon.png' would be overwritten by merge
These error occurs because we have local changes that will overwritten when we will do a pull request on the same branch.
For safety reason, git wont allow to overwrite the changes or do a
force pull over it.
However, we can follow certain steps which will help accomplished our goal of doing a
Force git pull on local files
Follow the steps below to do a force git pull to overwrite local changes.
Step 1 : Run a fetch to update all branches in your repository. It will get the latest files from the remote repository without merging them.
git fetch --all
Step 2 : Now we have to clean or stash up our file changes. We can do it in two ways:
- Saving local changes on stash : It will store all the uncommitted changes we made locally on a stash.
git stash -u // OR git stash --all
- Discarding local change: By discarding it, you are deleting all the changes you made. To do that we will reset our branch to the previous pulled state.
git reset --hard origin/master //OR git reset --hard origin/<branch_name>
And if you have any untracked files, you just have to clean those files the local branch.
git clean -fd //OR git clean -f -d
Step 3 : Now as you have clean all the untracked files / new files. you just have to a git pull again.
git pull origin master
That's it now you can pull your changes again and code on your project. 🧑🏻💻