Question

J'ai un fichier modifié que je veux rever à tout ce qui est dans le dernier engagement, mais il est « coincé » il toujours marqué comme modifié.

$ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   index.php
#
no changes added to commit (use "git add" and/or "git commit -a")

J'essaie alors:

$git checkout -- index.php

Mais la sortie du statut git est toujours le même. J'essaie alors:

$git reset --hard master
HEAD is now at 02c9613 test commit message

Et la sortie du statut git est toujours le même.

Toutes les idées sur la façon dont je peux me débarrasser des changements supposés sur ce fichier?

Était-ce utile?

La solution

Vous pourriez être en cours d'exécution dans un problème des espaces essayer git config --global apply.whitespace nowarn pour cette .

Si cela ne fonctionne pas, je dirais que vous avez rencontré un bug. Enregistrez le clone local pour référence future (j'espère que ce n'est pas trop grand) et de créer un rapport de bogue. En particulier, les faits que:

  • vous n'avez pas modifié le fichier vous-même
  • d'autres fichiers ne montrent pas ce problème

sont des signes qu'il pourrait tout simplement pas être vous qui a fait l'erreur ici. Que vous pouvez reproduire le problème sur une prise en pension propre serait des informations intéressantes aussi.

Autres conseils

Vous devez supprimer index.php du « index ». Alors pouvez-vous extrayez une version différente.

git rm --cached index.php

devrait faire l'affaire. Voir:

http://www.kernel.org/ pub / logiciel / scm / git / docs / git-rm.html

Avez-vous essayé:

$ git checkout master -f -- index.php

ou

$ git checkout master -f

Je ne vois pas pourquoi cela fonctionnerait si reset ne l'a pas, mais il vaut la peine d'essayer.

essayer git ls-files -m | xargs -i git update-index --assume-unchanged "{}"

FWIW, j'ai pu résoudre le problème en supprimant les sous-répertoires .git dans les répertoires montrions modifiés. Une fois que les sous-répertoires .git (comme les sous-répertoires étaient des projets .git en eux-mêmes) ont disparu, les dossiers parents ne posaient plus modifiés. Si les fichiers en question sont dans le même dossier en tant que dossier .git sans rapport, qui pourrait aussi avoir un effet.

J'étais coincé dans le joli même désordre. J'ai eu quelques fichiers que je ne pouvais pas me débarrasser de dans git status. Après avoir essayé de réinitialiser ou la caisse les fichiers en toute sorte de façon, j'ai décidé d'ajouter réellement les fichiers problématiques et les commettre. Git semblait heureux avec elle. Je suis alors retourné à la commets précédente et le problème a été résolu, les fichiers problématiques ont en effet disparu.

Il n'explique pas le bug, mais si cette solution peut résoudre que de aleady une bonne chose.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top