Utiliser un référentiel Git distant

Effectué

Après avoir créé un lien entre votre référentiel Git local et le référentiel distant au moyen de la commande remote ou clone, la synchronisation ne se fait pas automatiquement. Utilisez les commandes push et pull pour obtenir et envoyer des données vers le référentiel distant.

La meilleure pratique consiste à exécuter d’abord une commande pull, puis une commande push.

git pull <remote-name> <branch-name>

Si les fichiers sont modifiés par d’autres contributeurs, vous rencontrerez probablement des conflits de fusion. Résolvez ces conflits dans le référentiel local avant d’effectuer une transmission de type push vers le référentiel distant. Les conflits résolus entraîneront une nouvelle validation sur votre référentiel local. La commande pull téléchargera tous les fichiers nouveaux et modifiés dans le référentiel local. Ceci ne se produira que pour la branche utilisée actuellement. Ensuite, vous pouvez exécuter la commande push.

git push <remote-name> <branch-name>

Dans Visual Studio Code, vous trouverez les commandes pull et push dans le menu de commandes SCM. Sélectionnez les trois points pour ouvrir le menu. Vous pouvez également utiliser la commande sync, qui effectue dans un premier temps une extraction, puis, s’il n’y a pas de conflit, exécute automatiquement la commande push.

Capture d’écran du menu de commande SCM avec les options push, pull et sync.

Vous pouvez également cliquer sur l’icône synchroniser dans l’angle inférieur gauche de la fenêtre Visual Studio Code, en regard du nom de la branche.

Capture d’écran de l’icône Synchroniser sur la fenêtre Visual Studio Code.

Chaque fois que vous effectuez une validation locale, Visual Studio Code vous montre combien de validations d’avance vous avez par rapport au référentiel distant. Il est possible que quelqu’un d’autre ait ajouté de nouvelles validations au référentiel distant. Cela signifie que vous êtes derrière le référentiel distant et que vous devez d’abord exécuter une commande pull avant la commande push.

Vous pouvez voir l’état dans l’angle inférieur gauche de la fenêtre. Dans l’exemple suivant, le référentiel local a une validation d’avance par rapport au référentiel distant. Il comprend une validation à transmettre en mode push.

Capture d’écran de l’alerte d’état de synchronisation avec une validation à transmettre en mode push.

Pour vérifier si de nouvelles validations sont en attente, vous pouvez utiliser la commande fetch. Celle-ci demande au référentiel distant s’il y a des changements structurels dans le référentiel. De nouvelles branches ont-elles été créées ? De nouvelles validations ont-elles été transmises en mode push ? Nous étudierons la création de branches dans un autre module, mais si une branche est créée sur le référentiel distant, vous devez d’abord exécuter la commande fetch pour que votre référentiel local découvre qu’une nouvelle branche est créée.

git fetch

Dans Visual Studio Code, vous devez sélectionner Afficher, Palette de commandes (Ctrl+Maj+P) pour rechercher la commande fetch. La commande Fetch (Prune) supprimera les entrées locales des branches distantes si ces branches sont supprimées sur le référentiel distant.

Capture d’écran des commandes Git fetch dans Visual Studio Code.

Visual Studio Code prend en charge l’option de Récupération automatique. Ce paramètre exécute automatiquement la commande fetch chaque intervalle en secondes. De cette façon, Visual Studio Code montre automatiquement s’il y a des validations entrantes sur le référentiel distant. Vous pouvez activer ou désactiver ce paramètre en utilisant Fichier, Préférences, Paramètres (Ctrl + ,). Dans la liste des paramètres, recherchez Récupération automatique et vous verrez deux paramètres que vous pouvez modifier. L’un sert à activer ou désactiver le paramètre de récupération automatique, et l’autre, à définir la période.

Capture d’écran du paramètre de récupération automatique dans Visual Studio Code.

Utilisation d’un référentiel Git distant

Regardez la vidéo suivante pour découvrir une démonstration sur la façon d’utiliser un référentiel Git distant.