Comment vérifier les conflits de fusion à Git

Comment vérifier les conflits de fusion à Git
Plusieurs utilisateurs peuvent travailler avec plusieurs succursales dans n'importe quel référentiel GIT pour garder une trace de leurs tâches de projet. Parfois, cela nécessite de fusionner le contenu d'une branche vers une autre branche. Cette tâche peut être effectuée très facilement en utilisant le 'Git fusionner' commande. Mais le conflit de fusion survient lorsque deux ou plusieurs utilisateurs Git du même projet travaillent sur le même fichier et effectuent les différentes tâches de ce fichier, comme un utilisateur ajoute du contenu au fichier et un autre utilisateur supprime le contenu du fichier puis Il n'est pas possible pour le GIT de sélectionner le fichier correct pour la mise à jour. Le conflit de fusion peut également apparaître lorsque l'utilisateur modifie un fichier de référentiel local dans plusieurs succursales. Git marquera le fichier en tant que conflit de fusion, et les utilisateurs de Git doivent résoudre ce problème avant de poursuivre le travail. Les moyens de vérifier le conflit de fusion pour un référentiel local et de résoudre ce problème ont été expliqués dans ce tutoriel.

Conditions préalables:

Installer GitHub Desktop

GitHub Desktop aide l'utilisateur GIT à effectuer graphiquement les tâches liées à Git. Vous pouvez facilement télécharger le dernier installateur de cette application pour Ubuntu à partir de GitHub.com. Vous devez installer et configurer cette application après le téléchargement pour l'utiliser. Vous pouvez également vérifier le tutoriel pour l'installation de GitHub Desktop sur Ubuntu pour connaître correctement le processus d'installation.

Créer un référentiel local

Vous devez créer un référentiel local pour tester les commandes utilisées dans ce tutoriel pour vérifier et résoudre les conflits de fusion.

Vérifiez le conflit de fusion:

Vous pouvez créer un nouveau référentiel local ou tout référentiel existant pour vérifier les commandes utilisées dans cette partie de ce tutoriel. J'ai utilisé un référentiel local existant nommé frapper et a ouvert le dossier du référentiel du terminal. Exécutez les commandes suivantes pour vérifier la liste des branches existante, passez à la maître branche, et créez un fichier nommé installation.SMS En utilisant Nano Editor.

Branche Git $
$ maître de paiement
$ Configuration Nano.SMS

La sortie suivante montre qu'il y a trois branches dans le référentiel, et le principal La branche est active initialement. Ensuite, la branche active a changé pour maître. L'éditeur Nano sera ouvert après l'exécution de la configuration «Nano.Commande txt '.

Vous pouvez ajouter n'importe quel contenu au fichier. Le contenu suivant a été ajouté dans le installation.SMS dossier ici.

Suivez les instructions…

Exécutez les commandes suivantes pour ajouter la configuration.Fichier txt dans le référentiel, engager la tâche avec le message de validation et vérifier l'état actuel du référentiel.

$ git ajouter la configuration.SMS
$ git commit -m "Configuration.txt est ajouté "
$ statut git

La sortie suivante montre qu'un fichier est inséré dans le référentiel avec le message de validation, et l'arborescence fonctionnelle est maintenant propre pour le maître bifurquer.

Exécutez les commandes suivantes pour changer la branche actuelle en secondaire et ouvrez l'éditeur Nano pour ajouter le contenu du installation.SMS le fichier qui a déjà été modifié dans le maître bifurquer.

$ git Checkout Secondary
$ Configuration Nano.SMS

La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Vous pouvez ajouter n'importe quel contenu au fichier. Le contenu suivant a été ajouté dans le installation.SMS dossier ici.

Lis les instructions…

Exécutez les commandes suivantes pour ajouter le installation.SMS fichier dans le référentiel, engager la tâche avec le message de validation et vérifier l'état actuel du référentiel.

$ git ajouter la configuration.SMS
$ git commit -m "Configuration.txt est ajouté pour la branche secondaire."
$ statut git

La sortie suivante montre que le installation.SMS Le fichier a été ajouté à la branche secondaire du référentiel.

installation.SMS Le fichier a été modifié dans les branches maître et secondaire. Exécutez les commandes suivantes pour basculer dans le maître branche et fusionner le contenu du secondaire branche au maître bifurquer.

$ maître de paiement
$ git fusiter secondaire

La sortie suivante montre que le conflit de fusion est apparu car le même fichier a été modifié dans les deux bancs.

Résoudre le conflit de fusion:

Exécutez la commande suivante pour vérifier le contenu du installation.SMS dossier avant de résoudre le conflit de fusion.

$ configuration de chat.SMS

La sortie suivante montre que le installation.SMS Le fichier contient le contenu ajouté dans les deux branches avec quelques symboles supplémentaires. Les sept personnages sans<<<<<<<) with HEAD has added before the committed content of the maître branche, et les sept caractères de signe égaux (=======) ont ajouté avant le contenu engagé du secondaire bifurquer. Les sept plus grands que les personnages (>>>>>>>>) ont ajouté avec le secondaire Nom de la branche à la fin du fichier. Ici le moins que Le caractère indique la modification de la branche actuelle. Le signe égal indique la fin de la première modification. Le plus grand que Le caractère indique la fin du deuxième modification.

Exécutez la commande suivante pour vérifier l'état actuel du référentiel.

$ statut git

La sortie suivante montre que vous pouvez interrompre l'opération de fusion ou ajouter à nouveau le fichier après modifier et commettre la tâche avant d'exécuter à nouveau la commande de fusion.

Ouvrez le fichier dans l'éditeur Nano et modifiez le contenu en fonction de l'exigence en supprimant tous les symboles.

$ Configuration Nano.SMS

Le contenu suivant a été ajouté au fichier en supprimant tous les contenus précédents ici.

Lisez correctement les instructions…

Exécutez les commandes suivantes pour ajouter le fichier, vérifier l'état actuel du fichier et terminer l'opération de fusion.

$ git ajouter la configuration.SMS
$ statut git
$ git commit

La sortie suivante montre que le conflit de fusion a été fixé et que la branche secondaire a fusionné après avoir exécuté le 'git s'engager' commande.

Conclusion:

Les façons de détecter et de résoudre le conflit de fusion local du référentiel GIT ont été montrés dans ce tutoriel en utilisant un référentiel local de démonstration. J'espère que le concept du conflit de fusion sera effacé pour les lecteurs et résoudra ce numéro après avoir lu ce tutoriel.