Git: Cannot rebase because of uncommitted changes
Git won’t let me rebase from anywhere.
Cannot rebase: Your index contains uncommitted changes. Please commit or stash them.
Following the instructions from this answer: https://stackoverflow.com/a/13694625/618450
- Should I worry about repeating commit logs following rebase upstream/master?
- What are the best practices for having git clean history?
- Rebase all the branches (both children and grandchilden) from their ancestor
- Git - Merge vs rebase
- Git rebase from one branch to another
- What does git “added by us” mean?
$ git update-index -q --ignore-submodules --refresh $ git diff-files --ignore-submodules
Both do not produce any output but that one does:
$ git diff-index --cached --ignore-submodules HEAD -- :100644 000000 cab819f1e5ed6cc7cff374eecae273e1d6ae6a01 0000000000000000000000000000000000000000 D .idea/codeStyleSettings.xml :100644 000000 2953f353d2c65dd62e36926accb7f645a600b7e0 0000000000000000000000000000000000000000 D .idea/dictionaries/roxy.xml :100644 000000 0e7ecef362d8a77067edf4bae5972f33185bd986 0000000000000000000000000000000000000000 D .idea/inspectionProfiles/Project_Default.xml :100644 000000 3b312839bf2e939fea3ebdef15630a4b33e57caf 0000000000000000000000000000000000000000 D .idea/inspectionProfiles/profiles_settings.xml :100644 000000 e31af55b33d82e28f471a2ba51b63c2a91fa53b7 0000000000000000000000000000000000000000 D .idea/php.xml :100644 000000 9c25e8d4f1169b5d3103b14fdb60e7d7c3975b70 0000000000000000000000000000000000000000 D db/sfront.sql
and I can’t delete those files:
$ git rm --cached .idea/php.xml fatal: pathspec '.idea/php.xml' did not match any files
Any ideas that can help me?
Fixed my problem. I’m not sure I understand what happened though. The files that it complain about were supposed to be ignored.
One Solution collect form web for “Git: Cannot rebase because of uncommitted changes”
git stash stores the different files away from everything else, returning your working directory to the last commit. Once you have done your rebase, run
git stash pop. This will return those files to the working directory and allow you to work as before.
EDIT: A good link for learning all about the
git stash command: Git Tools – Stashing