2015-03-05 1 views
0

J'essaie de faire un retour, et il est dit que j'ai des conflits non résolus. C'est très étrange car le conflit pointe vers une seule ligne de commentaire.GitHub retour conflit n'est pas un conflit, et ne peut pas être résolu

<<<<<<< HEAD 
// END product configuration | clong 
======= 
// END SVG Product Configuration | clong 
>>>>>>> parent of 4cd0889... prerevert, conflicts exist 

Je ne pense pas avoir compris comment fonctionne le retour. Je pensais que Revert a remplacé votre projet, avec le commit auquel vous l'avez rétabli. Comment peut-il y avoir un conflit si rien n'est fusionné?

En outre, dans la mesure où cette question concerne, quand je quitte

// END product configuration | clong 

et essayer de nouveau le Revert, je reçois la même question.

Quand je laisse

// END SVG product configuration | clong 

Je reçois « Impossible de revenir commettre », qui est vague et inutile, [MISE À JOUR: Je l'ai trouvé que je peux revenir à des versions antérieures, mais il reste aimez comprendre ce qui provoque des conflits et des erreurs lors d'un retour? Tout ce que je veux faire est d'aller à un certain point dans mon projet. Je sais que je pourrais juste télécharger un zip du projet à ce moment-là, mais je voudrais apprendre la bonne façon de résoudre ce problème.

Répondre

1

Git commet une inversion de votre code lorsque vous le demandez. Il semble qu'il y ait un conflit. Il suffit de garder cette ligne comme vous avez fait et:

git revert --continue

Ceci est causé parce que git ne peut pas comprendre lequel des deux lignes que vous voulez. Ils sont sur la même ligne, il est donc étrange que Git y voit un conflit.

Une meilleure façon de « visiter » le point passé dans votre référentiel est d'utiliser

git checkout [SHA1_Hash_of_your_commit]

Si vous êtes désireux de revenir en arrière dans le temps de façon permanente, utilisez ce, avec précaution:

git reset --hard [SHA1_Hash_of_your_commit]

Si vous ne savez pas comment obtenir le [SHA1_Hash_of_your_commit] utilisation git log

La raison pour laquelle cela est en conflit est que sur certaines validations, il doit effectuer une fusion à trois voies en arrière-plan. Il revient à travers vos commits et trouve ce qui est similaire et les chiffres les plus importants. Cependant, il fusionne toujours cela et veut savoir quelle version de la ligne vous voulez vraiment.

+0

Pourquoi y a-t-il un conflit? Ne devrait-il pas écraser les lignes actuelles avec les anciennes lignes. Comment un retour agit-il comme une fusion? Aussi, pour clarifier, les deux lignes sont presque identiques, mais on y trouve le mot SVG. – Goose

+0

Oh, désolé, par la même ligne, je voulais dire le numéro de ligne. Habituellement, je vais le comprendre, je vais corriger cela dans ma réponse –

+0

Si vous pouviez expliquer pourquoi les conflits existent au lieu de simplement écraser, ma question sera entièrement répondue. – Goose