Tout d’abord, comme le titre le dit, est-il possible, en une seule étape (c’est-à-dire pas fetch
puis rebase
), de faire un pull --rebase
?
Deuxièmement, il existe un paramètre dans Visual Studio pour forcer les outils git intégrés à Team Explorer à toujours exécuter un pull --rebase
plutôt que une pull (fetch/merge)
standard.
Je sais que vous pouvez définir la valeur par défaut dans les fichiers de configuration globale ou de projet avec git config branch.autosetuprebase always
, mais je voulais savoir si Visual Studio pouvait mettre à jour/modifier ce paramètre ou disposer d'une option similaire, comme la plupart des autres interfaces graphiques. Je n'ai rien trouvé, donc il semble que ce ne soit pas le cas, d'où la question.
Visual Studio 2015 ne prend pas en charge la commande pull + rebase. Vous pouvez y parvenir manuellement en effectuant une extraction de 'branche' puis en effectuant un rebase sur 'Origin/branch'. Mais pas automatiquement.
Visual Studio 2017 (version candidate) effectuera actuellement le pull + rebase s'il est configuré comme option par défaut dans vos paramètres git globaux. Il vous prévient toujours toujours "résultat de fusion inattendu". J'espère que cela sera corrigé avant la sortie de la version finale.
Dans VS2017, vous pouvez utiliser la fonctionnalité intégrée pour modifier les paramètres git de la base: allez dans Team Explorer -> Accueil -> Paramètres -> Paramètres généraux ou Référentiel Paramètres -> définir la branche locale Rebase lors de l'extraction de: True ( capture d'écran )
C’est aussi près que vous pouvez en arriver à faire un rebase pull
.
Commencez par chercher sur la télécommande sur laquelle vous souhaitez créer une base. Ce ne sera pas un "pull --rebase" mais vous pouvez aller à l’équipe Explorer> branches> télécommandes> (choisissez votre télécommande)> faites un clic droit sur la branche que vous voulez rebase onto
et cliquez sur rebase onto
cliquez sur rebase tirer/rebaser sur la branche distante.
(mais c'est actuellement le seul moyen de se baser sur des mises à jour distantes sans exécuter un git bash)