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?
14 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 2You 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 4You 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>orgit checkout -- .) - If its staged changes, then first do reset (
git reset <filename>orgit reset) and then do checkout (git checkout <filename>orgit 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 repogit pull orign masterorgit rebase origin/master, and then merge your changes from stashgit stash pop stash@{0}