2015-05-22 25 views
5

Serecuperare e verifica un ramo git remota in un comando

  • ho repo locale con un telecomando $REMOTE già impostato
  • e un nuovo ramo $BRANCH esiste sul repo remoto che non ho inverosimile, eppure

posso prendere quel ramo e controllarlo fuori in una filiale locale di monitoraggio con lo stesso nome in un unico comando?

posso ottenere il risultato desiderato in due comandi sia con

git fetch $REMOTE $BRANCH 
git checkout $BRANCH # or more explicitly git checkout -b $BRANCH $REMOTE/$BRANCH 

o (ispirato this answer alla domanda How do I check out a remote Git branch?) con

git fetch $REMOTE $BRANCH:$BRANCH 
git branch --set-upstream-to=$BRANCH $BRANCH 
+2

No, ma [è possibile definire un alias] (https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases). – Phillip

+1

@Phillip Se ,, no "è la risposta, perché non postarla come risposta? – schmijos

+1

@JosuaSchmid Perché non considero un one-liner una buona risposta. – Phillip

risposta

7

Non v'è alcun comando interno, ma si potrebbe definisci un alias nel tuo ~/.gitconfig:

[alias] 
    fetch-checkout = !sh -c 'git fetch $1 $2 && git checkout $2' - 
+0

@ das-g: beh, si potrebbe sempre fare [ 'git checkout --track FETCH_HEAD'] (https://git-scm.com/docs/git-checkout) o qualche variante di esso – knittl

+0

@ das-g: ho esaminato ulteriormente l'argomento, ma non sono stato in grado di trovare un modo per usare 'FETCH_HEAD' per creare un ramo di tracciamento. Sembra che tu debba andare con lo pseudonimo – knittl

+0

Ma perde il completamento automatico. E quasi sempre lo uso perché ho dei prefissi di rami facili da ricordare, ma non posso ricorda il suo nome completo :( –