Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Synchronisation des Dépôts | Flux de Travail Plus Avancés
Fondamentaux de GitHub
course content

Contenu du cours

Fondamentaux de GitHub

Fondamentaux de GitHub

1. Introduction à GitHub
2. Interaction de Base avec les Dépôts Distants
3. Flux de Travail Plus Avancés

book
Synchronisation des Dépôts

Comme mentionné dans le chapitre précédent, il est nécessaire de synchroniser notre branche locale avec le dépôt distant. Pour cela, il convient d’exécuter la commande git pull :

Lorsque la commande git pull a été exécutée, Git a récupéré les mises à jour mais a constaté que nos branches locale et distante ont divergé, c’est-à-dire que des modifications existent sur les deux branches et doivent être conciliées. Git ne peut pas continuer sans savoir comment gérer ces différences, il faut donc définir l’option merge et relancer la commande git pull :

Note
Remarque

L’opération rebase sera abordée plus loin dans ce cours.

Git a tenté de fusionner automatiquement les modifications locales et distantes du fichier README.md, mais a rencontré un conflit de fusion. Examinons l’arbre des commits, qui indique où la divergence et les conflits se sont produits :

Résolution du conflit

Comme vous pouvez le constater, notre commit local actuel et le commit de la branche main du dépôt distant partagent un ancêtre commun, mais divergent, ce qui entraîne le conflit de fusion que nous devons résoudre. Pour cela, nous allons ouvrir le fichier README.md dans l’éditeur Vim :

Pour résoudre ce conflit, il faut passer en mode insertion en appuyant sur i, supprimer les marqueurs de conflit, et combiner ces modifications de la manière suivante :

Ensuite, il convient d’appuyer sur la touche Échap, de taper :wq, puis d’appuyer sur la touche Entrée pour enregistrer les modifications et quitter Vim. À présent, pour terminer la fusion, le fichier README.md doit être ajouté à la zone de préparation, puis validé à l’aide des commandes respectives :

Note
Remarque

Après l’exécution de la commande git commit, l’éditeur de texte par défaut s’ouvrira (probablement Vim). Il est possible de conserver le message de validation par défaut et de quitter Vim de la même manière que précédemment, ou de modifier le message avant de quitter.

Enfin, il est possible d’exécuter en toute sécurité la commande git push et de vérifier que la fusion à trois voies a réussi en affichant l’arbre des validations :

Analysons ce que nous avons fait dans ces deux chapitres :

  1. Nous avons simulé une collaboration en effectuant des modifications à la fois localement et à distance sur le fichier README.md ;

  2. Nous avons d'abord validé une modification directement dans le dépôt distant, puis effectué une modification différente localement ;

  3. Lorsque nous avons tenté de pousser nos modifications locales, nous avons rencontré un conflit car le dépôt distant avait de nouvelles mises à jour ;

  4. Pour résoudre cela, nous avons récupéré les modifications du dépôt distant, ce qui a entraîné un conflit de fusion ;

  5. Nous avons ensuite résolu manuellement le conflit dans le fichier README.md à l'aide de l'éditeur Vim, validé les modifications résolues, puis poussé avec succès les mises à jour finales vers le dépôt distant.

question mark

Quelle commande configure Git pour utiliser la fusion (et non le rebase) lors d’un git pull ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

course content

Contenu du cours

Fondamentaux de GitHub

Fondamentaux de GitHub

1. Introduction à GitHub
2. Interaction de Base avec les Dépôts Distants
3. Flux de Travail Plus Avancés

book
Synchronisation des Dépôts

Comme mentionné dans le chapitre précédent, il est nécessaire de synchroniser notre branche locale avec le dépôt distant. Pour cela, il convient d’exécuter la commande git pull :

Lorsque la commande git pull a été exécutée, Git a récupéré les mises à jour mais a constaté que nos branches locale et distante ont divergé, c’est-à-dire que des modifications existent sur les deux branches et doivent être conciliées. Git ne peut pas continuer sans savoir comment gérer ces différences, il faut donc définir l’option merge et relancer la commande git pull :

Note
Remarque

L’opération rebase sera abordée plus loin dans ce cours.

Git a tenté de fusionner automatiquement les modifications locales et distantes du fichier README.md, mais a rencontré un conflit de fusion. Examinons l’arbre des commits, qui indique où la divergence et les conflits se sont produits :

Résolution du conflit

Comme vous pouvez le constater, notre commit local actuel et le commit de la branche main du dépôt distant partagent un ancêtre commun, mais divergent, ce qui entraîne le conflit de fusion que nous devons résoudre. Pour cela, nous allons ouvrir le fichier README.md dans l’éditeur Vim :

Pour résoudre ce conflit, il faut passer en mode insertion en appuyant sur i, supprimer les marqueurs de conflit, et combiner ces modifications de la manière suivante :

Ensuite, il convient d’appuyer sur la touche Échap, de taper :wq, puis d’appuyer sur la touche Entrée pour enregistrer les modifications et quitter Vim. À présent, pour terminer la fusion, le fichier README.md doit être ajouté à la zone de préparation, puis validé à l’aide des commandes respectives :

Note
Remarque

Après l’exécution de la commande git commit, l’éditeur de texte par défaut s’ouvrira (probablement Vim). Il est possible de conserver le message de validation par défaut et de quitter Vim de la même manière que précédemment, ou de modifier le message avant de quitter.

Enfin, il est possible d’exécuter en toute sécurité la commande git push et de vérifier que la fusion à trois voies a réussi en affichant l’arbre des validations :

Analysons ce que nous avons fait dans ces deux chapitres :

  1. Nous avons simulé une collaboration en effectuant des modifications à la fois localement et à distance sur le fichier README.md ;

  2. Nous avons d'abord validé une modification directement dans le dépôt distant, puis effectué une modification différente localement ;

  3. Lorsque nous avons tenté de pousser nos modifications locales, nous avons rencontré un conflit car le dépôt distant avait de nouvelles mises à jour ;

  4. Pour résoudre cela, nous avons récupéré les modifications du dépôt distant, ce qui a entraîné un conflit de fusion ;

  5. Nous avons ensuite résolu manuellement le conflit dans le fichier README.md à l'aide de l'éditeur Vim, validé les modifications résolues, puis poussé avec succès les mises à jour finales vers le dépôt distant.

question mark

Quelle commande configure Git pour utiliser la fusion (et non le rebase) lors d’un git pull ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 2
some-alt