2012-01-16 16 views
17

Qualcuno ha spinto un ramo "nuova funzione" al repo comune:Come eseguire il checkout di un ramo remoto in Git?

git push -u new_feature_branch 

Ora, vorrei creare una copia di questo ramo sulla mia macchina locale al fine di testare la nuova funzionalità.

Quale sarebbe il modo più semplice per farlo? (Ho bisogno di fetch/pull prima checkout?)

+0

Potrebbe essere duplicato. http://stackoverflow.com/questions/1783405/checkout-remote-git-branch –

+2

Possibile duplicato di [Come posso verificare un ramo Git remoto?] (https://stackoverflow.com/questions/1783405/how- do-i-check-out-a-remote-git-branch) – SudoRahul

risposta

26

Generalmente non è necessario utilizzare git fetch. git pull è sufficiente. git pull sincronizzerà il repository con il telecomando. Il new_feature_branch sarà quindi disponibile.

git checkout new_feature_branch noterà il ramo in origine e creerà un nuovo ramo di localizzazione locale per te e passerà a quel ramo.

git pull 
git checkout new_feature_branch 
+1

git pull == git fetch + git merge –

11

È necessario recuperare i cambiamenti a monte in modo che il repository locale include gli oggetti rilevanti (git fetch --all o git fetch <remote>).

Successivamente è possibile eseguire un checkout utilizzando git checkout <branch> (se si desidera eseguirlo in modo esplicito, è possibile digitare git checkout -b <branch> <remote>/<branch>; il nome locale non deve essere lo stesso del telecomando). Se non si dispone già di un ramo locale con quel nome, eseguirà il checkout del ramo remoto e lo seguirà.

In alternativa a questo, è possibile utilizzare git pull <remote> <branch>, ma questo - con le impostazioni predefinite - unirà il ramo remoto nel corrente, che probabilmente non è quello che si desidera.

+0

Mi chiedo perché questa risposta dice che DEVI usare 'fetch --all' e la risposta in alto menziona' fetch'. Qual é? –

+1

@PetriSirkkala La risposta non dice che è necessario usare '--all'. 'fetch --all' dice di recuperare tutti i telecomandi (se ne hai più di, ad esempio' origin'). –

15

Il modo più semplice per farlo è:

git fetch 
git checkout -t origin/new_feature_branch 

Questo viene fatto solo inizialmente. D'ora in poi puoi continuare a lavorare con il ramo come fai per gli altri che usi.

1
git fetch && git checkout new_feature_branch 
+0

puoi per favore esaminare questa domanda se hai tempo. http://stackoverflow.com/questions/20634111/magento-error-when-disable-module –

Problemi correlati