2010-03-23 4 views
1

J'ai une liste de modifications lorsque je cours git status, mais je ne peux pas les mettre en scène ou les commettre. Comment puis-je réparer cela?Pourquoi git se souvient-il des changements, mais ne me laisse pas les mettre en scène?

Cela s'est produit après avoir extrait le répertoire kernelmode d'un référentiel vide quelque part dans un commit énorme.

% 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: kernelmode/linux-2.6.33/Documentation/IO-mapping.txt 
# ... 

$ git add kernelmode/linux-2.6.33/Documentation/IO-mapping.txt 

$ 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: kernelmode/linux-2.6.33/Documentation/IO-mapping.txt 
# ... 
+0

Ceci est une situation étrange, pouvez-vous penser à quelque chose que vous avez fait récemment avant que cela commence à se produire? Que se passe-t-il si vous commettez? Quelle est la sortie de 'git diff' et' git diff --cached'? – hasen

Répondre

0
git add kernelmode/linux-2.6.33/Documentation/IO-mapping.txt 

Cela devrait ajouter le seul fichier que vous présentez comme ayant besoin d'être mis en scène. Cependant, quelques expérimentations avec deux niveaux de sous-répertoire (au lieu de trois comme dans la question) suggèrent que git add . devrait ajouter tout ce qui doit être ajouté - et pour vous, ce n'est pas le cas.

+0

L'ajout de fichiers spécifiques ne fait aucune différence. :( –

+0

@Andres: C'est étrange ... pourrait-il y avoir un sous-répertoire '.git' entre votre répertoire actuel et kernelmode/linux-2.6.33/Documentation/qui n'est pas tout à fait géré correctement? , parce que l'intermédiaire '.git' existe, les changements à IO-mapping.txt appartiennent à l'autre dépôt Git, mais pour une raison quelconque le 'git status' local ne le reconnaît pas correctement? Alors oui, c'est ce que vous voyez –

+0

Ouais, j'ai l'impression que l'autre gars qui travaille sur ce dépôt a fait quelque chose de drôle ... –

2

git add -u devrait mettre en scène toutes vos modifications.

Questions connexes