202 votes

Git Stash Blunder: Git Stash Pop et fini avec des conflits de fusion

J’ai fait une et a fini avec les conflits de fusion. J’ai supprimé les fichiers du système de fichiers et a fait une comme indiqué ci-dessous, mais il pense que les fichiers sont toujours non fusionnés. J’ai alors essayé remplacement des fichiers et faire une à nouveau et même résultat. J’ai événement essayé de forcer avec drapeau. Toute aide serait appréciée !

222voto

tanascius Points 22712

Voir l'homme git merge (COMMENT RÉSOUDRE les CONFLITS):

Après avoir vu un conflit, vous pouvez faire deux choses:

Décider de ne pas fusionner. La seule clean-up, vous avez besoin de réinitialiser le fichier d'index à la TÊTE de s'engager à inverser 2. et pour nettoyer l'arbre de travail les modifications apportées par 2. et 3.; git-reset --hard peut être utilisé pour cela.

Résoudre les conflits. Git va marquer les conflits dans l'arbre de travail. Modifier les fichiers dans la forme et git les ajouter à l'index. Utiliser git commit pour sceller l'affaire.

Et en vertu de VRAI de FUSION (pour voir ce que 2. et 3. renvoie):

Quand il n'est pas évident de savoir comment concilier les changements, les actions suivantes se produisent:

  1. Le pointeur de TÊTE reste le même.

  2. Le MERGE_HEAD ref est mis au point à l'autre branche de la tête.

  3. Les chemins qui a fusionné propre sont mis à jour dans le fichier d'index et de votre arbre de travail.

  4. ...

Donc: utiliser git reset --hard

En vertu de l'homme git stash (OPTIONS, pop), vous pouvez lire en plus:

L'application de l'état peut échouer avec les conflits; dans ce cas, il n'est pas retiré de la cachette de la liste. Vous devez résoudre les conflits par la main et l'appel git stash déposer manuellement par la suite.

45voto

Aaron Points 2249

J’ai eu une chose semblable m’arriver. Je ne voulais pas mettre en scène les fichiers tout de suite alors j’ai ajouté avec et puis il n’a tout simplement . Cela fondamentalement juste ajouté et puis non indexé mes modifications mais effacé les chemins non fusionnés.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X