22

Innanzitutto, come dice il titolo, è anche possibile in un unico passaggio (ovvero non fetch quindi rebase) , per fare un pull --rebase?È possibile eseguire Git Pull --rebase con gli strumenti git di Visual Studio (e può essere impostato per impostazione predefinita)

In secondo luogo, è un'impostazione in Visual Studio per forzare gli strumenti git Team Explorer incorporati a fare sempre uno pull --rebase anziché uno standard pull (fetch/merge).

Sono consapevole che è possibile impostare l'impostazione predefinita nei file di configurazione globale o di progetto con git config branch.autosetuprebase always, ma volevo sapere in particolare se Visual Studio poteva aggiornare/modificare quell'impostazione o aveva un'opzione simile, come la maggior parte delle altre GUI. Non sono stato in grado di trovare nulla, quindi sembra che non lo sia, da qui la domanda.

+1

Utilizzare l'IDE per le cose di IDE e strumenti di controllo delle versioni per il controllo delle versioni roba http://stackoverflow.com/q/19358148/520162. Non conosco alcun IDE che possa far fronte correttamente alla potenza di Git, quindi utilizzo l'unica vera interfaccia di Git, la riga di comando. Tuttavia, non vorrei iniziare il debug o la programmazione con la riga di comando. Ecco dove gli IDE di solito eccellono. – eckes

+1

Personalmente sono d'accordo con te, ma la mia domanda è molto specifica perché ci sono altri che possono acquistare nell'uso dell'ecosistema IDE il più possibile. Sto cercando di minimizzare le loro interruzioni mentre sto ancora gestendo le migliori pratiche di git. Se la risposta finale è semplicemente utilizzare la CLI o uno strumento come SourceTree, è bello avere dei motivi concreti per cui, come non è possibile fare X con IDE – LocalPCGuy

+0

@NathanOliver I basato la mia modifica sul commento dell'OP sulla risposta di seguito. –

risposta

8

Visual Studio 2015 non supporta pull + rebase. È possibile eseguirlo manualmente eseguendo un recupero di 'ramo' e quindi eseguire un rebase su 'origine/ramo'. Ma non automaticamente.

Visual Studio 2017 (release candidate) eseguirà attualmente pull + rebase se è configurato come opzione predefinita nelle impostazioni globali git. Attualmente ti dà ancora un avvertimento che dice "risultato di fusione inaspettato". Spero che questo verrà risolto prima che la versione finale venga pubblicata.

+0

2015 non supporta direttamente pull --rebase ma supporta il rebasing su un ramo remoto aggiornato. – gabeio

+1

Dalla finestra dei rami dopo aver eseguito un recupero. – jessehouwing

-1

Aprire Git Bash e incolla:

git config --global branch.autosetuprebase always 

questo renderà ogni futuro pull un pull --rebase.

+0

Questa impostazione non è supportata dall'implementazione del client git in Visual Studio 2015. – jessehouwing

+0

Funziona per me, anche se, se si hanno modifiche non modificate, verrà eseguito il fallback su una normale estrazione. Devo ancora trovare "git stash" in Visual Studio. – GaloisGirl

+0

Fa un auto stash/unstash quando si cambia ramo. Altrimenti non ha il supporto per lo stash, potresti semplicemente creare un altro ramo temporaneo. – jessehouwing

0

Questo è il più vicino possibile a un effettivo rebase pull.

Prima eseguire un recupero sul telecomando su cui si desidera rebase. Non sarà un "pull -rebase" ma puoi andare a team explorer> branches> remotes> (scegli il tuo telecomando)> fai clic con il tasto destro sul ramo che vuoi rebase onto e fai clic su rebase onto click rebase e hai praticamente fatto un pull/rebase sul ramo remoto.

(ma attualmente questo è l'unico modo per rebase su aggiornamenti remoti senza correre ad un bash Git)