Ne peut pas se débarrasser de "Modifications ne sont pas mis en scène pour commettre de"
Je ne suis pas en mesure de se débarrasser de cet état dans lequel mon repo est semblent être enfermés. Après un reset à la TÊTE de~1, je continue à recevoir cette notification à propos de ce fichier en cours de modification. 'ajouter' et de la 'caisse' ont pas d'incidence. J'ai de base.autocrlf et le noyau.safecrlf unset (vide).
Veuillez voir ci-dessous:
$ git --version
git version 1.7.9.6 (Apple Git-31.1)
$ git status
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: a_file_name.cpp
Les commandements suivants (ran individuellement) n'ont aucun effet:
$ git checkout -- a_file_name.cpp
$ git reset a_file_name.cpp
$ git add a_file_name.cpp
$ git reset --hard
$ git clean -n
<nothing>
$ git clean -f
<nothing>
$ git status
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: a_file_name.cpp
et il continue ...
Qu'ai-je fait de mal?
Réponse à @Ne la suggestion ci-dessous (git rm), pas de changement, mais ici, c'est comment ça se passe:
$ git rm
error: 'a_file_name.cpp' has local modifications
(use --cached to keep the file, or -f to force removal)
$ git rm -f a_file_name.cpp
rm 'a_file_name.cpp'
$ git status
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: a_file_name.cpp
#
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: a_file_name.cpp
#
$ git commit -m"tmp"
[master 2a9e054] tmp
1 file changed, 174 deletions(-)
delete mode 100644 a_file_name.cpp
$ git status
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: a_file_name.cpp
#
Revenue à la sq.1
Quels sont vos de fin de ligne des paramètres (
avez-vous essayé tout à l' --git stash et juste ranger tous vos modifications?
Ce qui se passe lorsque vous ne
C'est difficile de répondre à votre question si ce qui ressemble à des commandes et de la production sont en fait des faux et manquant de détails cruciaux.
Dans ce cas, si vous n'étiez pas dans le bon répertoire, je ne comprends pas pourquoi git status ne vous donne pas le bon chemin d'accès relatif, par exemple
autocrlf
, safecrlf
, .gitattributes
, etc.)?avez-vous essayé tout à l' --git stash et juste ranger tous vos modifications?
Ce qui se passe lorsque vous ne
git checkout -- a_file_name.cpp
? Assurez-vous également que vous êtes dans le même répertoire que le fichier lorsque vous exécutez cette.C'est difficile de répondre à votre question si ce qui ressemble à des commandes et de la production sont en fait des faux et manquant de détails cruciaux.
Dans ce cas, si vous n'étiez pas dans le bon répertoire, je ne comprends pas pourquoi git status ne vous donne pas le bon chemin d'accès relatif, par exemple
# modified: sub-dir/a_file_name.cpp
. Si vous pouvez reproduire ce alors vous devez vous connecter à un bug. Git ne devriez pas faire cela.OriginalL'auteur FractalSpace | 2012-11-29
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que vous êtes dans le même répertoire que le fichier lorsque vous exécutez un
git
commandes. Alternativement, vous pouvez utiliser un chemin relatif ou absolu pour les fichiers utilisés avecgit
commandes. La sortie degit status
devrait indiquer le répertoire où se trouve le fichier. Je trouve étrange que la sortie que vous avez posté ici ne montre pas que l'.OriginalL'auteur Code-Apprentice
L'option-a va ajouter tous les dossiers avec les modifications
OriginalL'auteur Goulart
Un tour sur façon qui ont travaillé pour moi, est de:
recréer le fichier que j'ai supprimé.
git add path/filename
git rm --cached path/filename
supprimer le fichier
git add .
git commit --amend # if not on an already pushed branch.
Oui cela a fonctionné pour moi, a fait une fusion, et il y avait un fichier avec le même nom, on avait donc le préfixe ~TÊTE. Je l'ai supprimé manuellement et engage la fusion. Puis il y avait un fantôme fichier que je ne pouvais pas ajouter ni supprimer... réalise Aussi la unstaged fichier n'avait pas de majuscules, mais mon fichier sur le disque avait majuscules...
OriginalL'auteur farmi
Avez-vous besoin de toutes les modifications dans le fichier modifié? git-réinitialisation par défaut laisse les fichiers dans l'arborescence de répertoire.
sera remise à zéro et d'écrire sur les fichiers dans votre arbre de travail avec les fichiers dans le commettre.
Avez-vous fait un git diff après chacune des étapes pour voir si des modifications existent réellement?
Vous pouvez supprimer les fichiers indésirables, ou
git add .
avantgit reset --hard
à tous sans traces de fichiers de façon permanente.Avez-vous un problème d'autorisations? Le fichier de changer après tout départ, reset, etc?
Qu'en est git fsck?
git fsck s'est bancale objet, ne git gc. Toutefois, aucun changement.
OriginalL'auteur jeremy