Partage via


Transférer depuis Visual Studio vers une branche distante

Une fois que vous vous êtes authentifié auprès de GitHub, Visual Studio peut améliorer votre flux de travail GitHub. L’une de ces améliorations est la possibilité d’envoyer (également appelé publication) un projet local directement vers GitHub en un seul clic. La dernière phase d’un workflow Git simple consiste à envoyer les modifications à votre référentiel distant.

Un serveur distant est une référence à un référentiel Git hébergé ailleurs que l’ordinateur local, appelé quelque chose comme l’origine/main (ou origin/master), où « origin » est le nom par défaut d’un serveur distant. Pour plus d’informations sur cette terminologie, consultez la page Git Branching - Remote Branches sur le site web Git.

Bien que cet article référence les référentiels GitHub, vous pouvez travailler à distance avec le fournisseur Git de votre choix, tel que GitHub, GitLab ou Azure DevOps.

Voici comment envoyer (push) vers un référentiel distant dans Visual Studio.

  1. Vérifiez que vous avez un fichier ouvert pour travailler sur celui-ci dans un référentiel précédemment créé ou cloné .

  2. Apportez une modification au fichier, enregistrez-le, sélectionnez l’onglet Modifications Git , puis validez la modification.

  3. Dans la fenêtre Modifications Git , notez le texte du lien qui inclut le nombre de validations entrantes et sortantes. Dans l’exemple suivant, le texte du lien lit 1 sortant/0 entrant.

    Fenêtre Modifications Git avec le texte du lien sortant/entrant mis en surbrillance dans Visual Studio 2022.

    Le texte « sortant » représente le nombre de validations qui n’ont pas encore été envoyées (push) vers le référentiel distant, tandis que le texte « entrant » représente les commits qui ont été récupérés, mais qui n’ont pas encore été extraits du référentiel distant.

  4. Pour envoyer (push) vers votre référentiel distant, sélectionnez le bouton Envoyer (push) (la flèche vers le haut) ou sélectionnez Envoyer (push) dans le menu Git.

    Si la branche locale se trouve derrière la branche distante, git n’autorise pas une transmission push normale et vous êtes invité à savoir ce qu’il faut faire ensuite. Vous pouvez:

    1. Tirez puis poussez. Utilisez cette option si vous souhaitez obtenir les dernières modifications sur la branche distante, puis envoyer (push) vos modifications à la branche distante. Cela fonctionne bien si vous n’avez pas de modifications en conflit et que vous souhaitez vous mettre à jour.

    2. Tirez. Met à jour la branche locale, mais ne transmet pas vos modifications. Avec cette option, vous pouvez inspecter les modifications ou résoudre les conflits avant de réessayer d’envoyer vos modifications.

    3. (Si vous l’activez) Forcer la poussée. Poussez vos modifications sans mettre à jour votre branche locale.

      Pour activer l’envoi forcé, accédez àOutils>Options>Tous les Paramètres>Source Control>Paramètres Git, puis activez Enable push --force-with-lease. L’objectif de cette option est de vous permettre de tenter une transmission (push) même si des modifications ont eu lieu dans le référentiel distant, sans remplacer les autres modifications. Pour plus d’informations sur cette option, consultez cette question Stackoverflow et la documentation git push officielle.

      Paramètre Git

      Si vous activez cette option, l’option Pull n’est pas disponible dans l’invite. Vous pouvez toujours puller normalement comme décrit dans git fetch, pull, push, & sync.

    4. Annulation. Rien ne se passe. Les modifications de la branche distante ne sont pas tirées et vos modifications ne sont pas poussées. Votre branche locale est toujours obsolète.