Vidéo : Résoudre les conflits de fusion et de rebase
La vidéo est lue dans le lecteur YouTube, en mode de confidentialité améliorée.
- 7 minutes de vidéo
- Narration en anglais · English and Arabic légendes
- Regarder sur YouTube
Résolvez le même titre concurrent dans une fusion et dans un rebase, voyez pourquoi « le nôtre » et « le leur » s'échangent entre eux, enregistrez un résultat combiné délibéré et terminez chaque opération sans perdre l'idée de l'une ou l'autre personne.
Lire la leçon complète
L'article présente toutes les étapes et commandes de la vidéo, l'exercice pratique et les questions.
Transcription vidéo
La narration de la vidéo, repère par repère.
- Un conflit n'est pas une erreur. C'est un question à laquelle vous seul pouvez répondre.
- Deux personnes ont changé la même ligne du même fichier.
- Sara a écrit un titre. Omar a écrit un autre. Les deux sont partis de la même page.
- Git ne peut pas deviner quelle ligne gagne, donc il s'arrête et vous demande.
- Tout d'abord, construisez les succursales de Sara et d'Omar, et deux exemplaires identiques.
- Dans le premier exemplaire, nous fusionnons. Dans la seconde, nous rebasons.
- Ouvrez la copie de fusion, sur la branche de Sara.
- Faites un clic droit sur la branche d'Omar et choisissez son Commande de fusion.
- La boîte de dialogue prévient déjà : cela va s'arrêter avec un conflit dans un fichier.
- Choisissez Toujours un commit de fusion, puis Fusionner une fois. Cela s'arrête, comme prévu.
- La bannière montre un conflit. Continuer est pas encore disponible.
- Choisissez Résoudre et ouvrez index.html.
- Deux faces : la branche de Sara est actuelle, Celui d'Omar arrive.
- Show Base révèle l'ancêtre commun, le page avant l’un ou l’autre changement.
- Modifiez maintenant la sortie. Remplacez le titre par une ligne délibérée.
- Enregistrez et marquez résolu. Ce n'est que maintenant que Git traiter le fichier comme résolu.
- De retour sur la bannière, choisissez Continuer. Le fusionner les finitions.
- Le nouveau commit a deux parents, et le rubrique combinée.
- Maintenant la copie de rebase, également sur celle de Sara branche.
- Faites un clic droit sur la branche d'Omar et rebasez La branche de Sara dessus.
- Laissez les options désactivées et rebasez une fois. Il s'arrête avec un conflit.
- Regardez les étiquettes. Maintenant, la succursale d'Omar est celui sur lequel nous nous rebasons.
- Le commit de Sara est celui qui est rejoué. Les rôles ont été inversés.
- Même résolution : modifier la sortie, puis enregistrer et Marquer résolu, puis Continuer.
- Le commit de Sara est recréé au-dessus de Celui d'Omar, avec le même en-tête.
- Dans le terminal, listez les entrées non fusionnées d'une fusion arrêtée.
- La deuxième étape est à nous : le cap de Sara. Scène trois sont à eux : ceux d'Omar.
- Dans un rebase arrêté, étapes deux et trois sont l'inverse.
- Après le correctif, rien n'est fusionné et le statut est vide.
- La pointe de la copie de fusion a deux parents ; le L'astuce de la copie de rebase en a une.
- Modifier l'entrée : supprimer les marqueurs et enregistrer, mais ne pas marquer comme résolu.
- Git voit toujours trois étapes, alors continuez reste indisponible.
- Bloqué? Abandonner remet la branche là où l'opération commença.
- GitTree enregistre d'abord un instantané de récupération, donc même un abandon est sûr.
- Ne prenez jamais tout d'un côté devant vous lisez les deux versions.
- Pratique : prouver les rôles sur scène dans les deux copies, puis terminez les deux.
- Ensuite, continuez, sautez ou abandonnez une opération cela s'est arrêté.