Synchroniser les dépôts local et distant
Maintenant, nous allons voir ce qui rend un dépôt distant si pratique : tu peux très facilement le synchroniser avec ton dépôt local.
Table des matières
Fetch et pull : récupérer les modifications distantes
Fetch
Pour récupérer des modifications depuis GitHub, il faut commencer par faire un fetch : cela demande à Git de s’informer des changements sur le dépôt distant. Par contre, cela ne modifie pas encore ton dépôt local : ce sera fait dans l’étape suivant, le pull.
À noter que GitHub Desktop fait parfois des fetch automatiquement, donc tu n’as pas toujours besoin de faire cette action toi-même.
Pour cela, clique sur bouton Fetch origin s’affiche dans la barre du haut (note : ce bouton est remplacé par le bouton push ou pull si l’une de ces actions est possible).
Pull
Une fois que tu as fetch des modifications, tu peux les pull : cela va les intégrer dans ta branche locale. Il suffit d’appuyer sur le bouton Pull origin de la barre du haut.
Il est possible que cette étape cause un conflit, si certains changements sur le dépôt distant interfèrent avec des changements en local. Si cela t’arrive, tu peux les résoudre comme vu dans la partie précédente.
Push : envoyer ses modifications
Enfin, lorsque tu as fait des commits en local, tu peux les envoyer sur le dépôt distant avec un push. Lorsque c’est possible de le faire, GitHub Desktop affiche un bouton Push origin dans la barre du haut.
Git ne t’autorise à faire un push que lorsque ton dernier commit local est situé après le dernier commit sur le dépôt distant (par rapport à l’ordre de succession des commits, pas par rapport à leur date).
La situation contraire se produit par exemple lorsqu’une autre personne a créé des commits sur le dépôt distant depuis la dernière fois que tu as pull. Dans ce cas, il faudra que tu pull ces modifications avant de pouvoir push les tiennes.
Mais ne te fais pas de soucis : si la situation nécessite que tu pull avant de push, GitHub Desktop affichera le bouton pull à la place, suivi de deux flèches qui indiquent que des modifications locales n’ont pas encore été push.
Note que si tu travailles sur une nouvelle branche, GitHub Desktop affichera à la place du bouton push un bouton Publish branch. Il fait sensiblement la même chose, mais en plus il va créer la nouvelle branche sur le dépôt distant.