web-dev-qa-db-fra.com

Git stash pop- doit fusionner, impossible d'actualiser l'index

Je ne peux pas ouvrir ma réserve parce que j'ai fusionné une branche qui entre apparemment en conflit avec celle-ci. Désormais, ma réserve est apparemment incapable de disparaître.

app.coffee: needs merge
unable to refresh index

Quelqu'un sait comment résoudre ceci?

FIXE!

Il s'avère que le problème réel était un conflit de fusion non résolu de la fusion,PAS/ que la cachette provoquerait un conflit de fusion.

Résolution: validez le fichier en conflit.

84
RandallB

Tout d’abord, cochez git status.
Comme le PO le mentionne, 

Le problème réel était un conflit de fusion non résolu de la fusion, pas que la réserve dissimule un conflit de fusion.

C'est là que git status indiquerait que ce fichier est "both modified"

Résolution: validez le fichier en conflit.


Vous pouvez trouver une situation similaire il ya 4 jours au moment de la rédaction de cette réponse (13 mars 2012) avec ce message: " " Extraire n'est pas possible car vous avez des fichiers non fusionnés " "

julita@yulys:~/GNOME/baobab/help/C$ git stash pop
help/C/scan-remote.page: needs merge
unable to refresh index

Ce que vous avez fait était de résoudre le conflit de fusion (éditer le bon fichier et le valider):
Voir " Comment résoudre les conflits de fusion dans Git? "

Ce que l'auteur du billet a fait était:

julita@yulys:~/GNOME/baobab/help/C$ git reset --hard Origin/mallard-documentation
HEAD is now at ff2e1e2 Add more steps for optional information for scanning.

Ie abandon de la fusion en cours complètement, permettant l'application du git stash pop.
Voir " Abandon d'une fusion dans Git ".

Ce sont vos deux options.

50
VonC

J'avais ce problème, puis la résolution du conflit et la validation, et refaire git stash pop restituait à nouveau le même stock (provoquant le même conflit :-().

Ce que je devais faire, c'est git stash drop pour m'en débarrasser.

11
knocte

C'est beaucoup plus simple que la réponse acceptée. Tu dois:

  1. Vérifiez git status et les chemins non fusionnés en dessous. Corrigez les conflits. Vous pouvez ignorer cette étape si vous préférez le faire plus tard.

  2. Ajoutez tous ces fichiers sous des chemins non fusionnés pour indexer à l'aide de git add <filename>.

  3. Maintenant, faites git stash pop. Si vous rencontrez des conflits, ceux-ci devront à nouveau être résolus. 

5
ayushgp

Si quelqu'un rencontre ce problème en dehors d'une action de fusion/conflit/action, il peut s'agir du fichier de verrouillage git de votre projet à l'origine du problème.

git reset
     fatal: Unable to create '/PATH_TO_PROJECT/.git/index.lock': File exists.
rm -f /PATH_TO_PROJECT/.git/index.lock
git reset
git stash pop
3
StevieJayCee

J'ai trouvé que la meilleure solution consiste à vous séparer de votre stock et à faire une résolution par la suite.

git stash branch <branch-name>

si vous perdez de l'argent, vous risquez de perdre vos modifications et vous devrez revenir au reflog.

0
Julian Tellez

Vous devez ajouter app.coffee à la mise en scène.

Faites git add app.coffee et vous pourrez alors appliquer votre stash (après que commit et Push).

0
edvard_munch

Voici comment j'ai résolu le problème:

  • git status (voir un mélange de fichiers d'une stash précédente, d'une extraction, d'une stash pop et de la poursuite du travail.)
  • git stash (voir le problème de fusion des besoins)
  • git add. (ajoutez les fichiers pour que mon travail résolve localement le mien fusionné)
  • git stash (pas d'erreur)
  • git pull (pas d'erreur)
  • git stash pop (pas d'erreur et continuer à travailler)
0
Adam Wright