web-dev-qa-db-fra.com

Git: impossible de rebaser en raison de modifications non validées

Git ne me laissera pas rebaser de n'importe où.

Cannot rebase: Your index contains uncommitted changes.
Please commit or stash them.

En suivant les instructions de cette réponse: https://stackoverflow.com/a/13694625/61845

$ git update-index -q --ignore-submodules --refresh
$ git diff-files --ignore-submodules

Les deux ne produisent aucune sortie mais celle-ci:

$ 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

et je ne peux pas supprimer ces fichiers:

$ git rm --cached .idea/php.xml
fatal: pathspec '.idea/php.xml' did not match any files

Des idées qui peuvent m'aider?

EDIT: git stash

Correction de mon problème. Je ne suis pas sûr de comprendre ce qui s'est passé. Les fichiers dont il se plaignait étaient censés être ignorés.

28
Pixy

git stash stocke les différents fichiers loin de tout le reste, renvoyant votre répertoire de travail au dernier commit. Une fois votre rebase terminé, exécutez git stash pop. Cela renverra ces fichiers dans le répertoire de travail et vous permettra de travailler comme avant.

EDIT: Un bon lien pour tout savoir sur le git stash commande: Git Tools - Stashing

49
jamesthollowell

Probablement pas encore pour une pelle dorée, néanmoins j'utilise toujours --autostash option lors du rebasage avec des modifications non validées, donc:

git rebase --interactive SHA_WHERE_REBASE_ONTO^ --autostash

1
Mike