Git ignore local file changes

I've tried both

git update-index --assume-unchanged config/myconfig 

and

editing .git/info/exclude and adding config/myconfig

however when I do git pull I always get:

Updating 0156abc..1cfd6a5 error: Your local changes to the following files would be overwritten by merge: config/myconfig Please, commit your changes or stash them before you can merge. Aborting

What am I missing?

1

4 Answers

git pull wants you to either remove or save your current work so that the merge it triggers doesn't cause conflicts with your uncommitted work. Note that you should only need to remove/save untracked files if the changes you're pulling create files in the same locations as your local uncommitted files.

Remove your uncommitted changes

Tracked files

git checkout -f 

Untracked files

git clean -fd 

Save your changes for later

Tracked files

git stash 

Tracked files and untracked files

git stash -u 

Reapply your latest stash after git pull:

git stash pop 
2

You most likely had the files staged.

git add src/file/to/ignore 

To undo the staged files,

git reset HEAD 

This will unstage the files allowing for the following git command to execute successfully.

git update-index --assume-unchanged src/file/to/ignore 
4

You probably need to do a git stash before you git pull, this is because it is reading your old config file. So do:

git stash git pull git commit -am <"say first commit"> git push 

Also see git-stash(1) Manual Page.

If you dont want your local changes, then do below command to ignore(delete permanently) the local changes.

  • If its unstaged changes, then do checkout (git checkout <filename> or git checkout -- .)
  • If its staged changes, then first do reset (git reset <filename> or git reset) and then do checkout (git checkout <filename> or git checkout -- .)
  • If it is untracted files/folders (newly created), then do clean (git clean -fd)

If you dont want to loose your local changes, then stash it and do pull or rebase. Later merge your changes from stash.

  • Do git stash, and then get latest changes from repo git pull orign master or git rebase origin/master, and then merge your changes from stash git stash pop stash@{0}
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like