version control - How do I force "git pull" to overwrite local files? -
how force overwrite of local files on git pull?
the scenario following:
- a team member modifying templates website working on
- they adding images images directory (but forgets add them under source control)
- they sending images mail, later, me
- i'm adding images under source control , pushing them github other changes
- they cannot pull updates github because git doesn't want overwrite files.
the errors i'm getting are:
error: untracked working tree file 'public/images/icon.gif' overwritten merge.
how force git overwrite them? person designer - resolve conflicts hand, server has recent version needs update on computer.
important: if have local changes, lost. or without --hard option, local commits haven't been pushed lost.[*]
if have files not tracked git (e.g. uploaded user content), these files not affected.
i think right way:
git fetch --all then, have 2 options:
git reset --hard origin/master or if on other branch:
git reset --hard origin/<branch_name> explanation:
git fetch downloads latest remote without trying merge or rebase anything.
then git reset resets master branch fetched. --hard option changes files in working tree match files in origin/master
[*]: it's worth noting possible maintain current local commits creating branch master before resetting:
git checkout master git branch new-branch-to-save-current-commits git fetch --all git reset --hard origin/master after this, of old commits kept in new-branch-to-save-current-commits. uncommitted changes (even staged), lost. make sure stash , commit need.
Comments
Post a Comment