EN
Git - pull with force to override / reset local changes in history
2
points
In this article, we want to show how run git pull
command overriding local changes.
Quick solution (on master branch):
git fetch
git reset --hard origin/master
Read the below sections to know much more.
Problem overview
Somene in team made changes in git history or we modified locally repositiry and we want to use code version from remote server.
Console example (in this case conflict occured):
my-user@ubuntu-pc:~/Projects/my-project$ git pull
Auto-merging src/themes/light/default.ts
CONFLICT (content): Merge conflict in src/themes/light/default.ts
Auto-merging src/themes/light/colors.scss
Auto-merging src/modules/users/index.tsx
CONFLICT (add/add): Merge conflict in src/modules/users/index.tsx
Auto-merging src/components/input.tsx
Auto-merging src/components/notification.tsx
Automatic merge failed; fix conflicts and then commit the result.
my-user@ubuntu-pc:~/Projects/my-project$
Problem solution
Run git reset --hard
with name of branch making sure you have current version of source code.
Recommended steps:
1. fetch current source code from remote repository using:
git fetch --all
2. reset changes for specific branch using:
git reset --hard origin/my-branch-name
Note:
git reset --hard origin/master
if we work on master branch.
Console example:
my-user@ubuntu-pc:~/Projects/my-project$ git reset --hard origin/bug-fixes
HEAD is now at e7f21a4 Fixed notification error.
my-user@ubuntu-pc:~/Projects/my-project$