git: estrae da un ramo specifico


197

Ho clonato un repository git sul mio server dev e poi passato al ramo dev ma ora non riesco a fare un pull git per aggiornare il ramo.

Come aggiorno il codice sul server?

Risposte:


258

Vedi la pagina man di git-pull :

git pull [options] [<repository> [<refspec>...]]

e nella sezione degli esempi:

Unisci nel ramo corrente il ramo remoto successivo:

$ git pull origin next

Quindi immagino che tu voglia fare qualcosa del tipo:

git pull origin dev

Per configurarlo in modo che lo faccia per impostazione predefinita mentre sei sul ramo dev:

git branch --set-upstream-to dev origin/dev

6
"Il --set-upstreamflag è obsoleto e verrà rimosso. Prendi in considerazione l'utilizzo --tracko l' --set-upstream-to Branch devimpostazione per tenere traccia degli sviluppatori di filiali remote dall'origine." Per esempio. git branch --set-upstream-to origin/dev
Nagendra Rao,

Modifica questo per riflettere la deprecazione di --set-upstream?
Scott Skiles,

Personalmente sono interessato al flusso quando voglio estrarre un ramo specifico dall'origine che non è stato ancora recuperato e collocare quell'oggetto su un ramo separato, quindi il mio ramo attuale non si fonde con quello che sto tirando.
Yuriy Pozniak,

43

Ecco cosa devi fare. Per prima cosa assicurati di essere nel ramo che non vuoi tirare. Ad esempio, se si dispone di un ramo master e di sviluppo e si sta tentando di estrarre il ramo di sviluppo, rimanere nel ramo principale.

git checkout master

Poi,

git pull origin develop

5
Questo è confusionario. Se voglio inserire un ramo "dev" remoto in un ramo "dev" locale, penso che dovresti rimanere nel ramo "dev" locale e non in qualsiasi altro ramo.
Romano,

2
Questo non recupera il ramo di sviluppo remoto e quindi lo unisce al tuo master locale?
Brad P.

2
L'ho fatto git checkout develope git pull origin develope ben funzionante. Dovresti effettuare il checkout su un'altra filiale se desideri rimuovere una filiale locale o remota ( git branch -d developo git push origin --delete develop)
ChesuCR

molto confuso. Ho appena unito il ramo che volevo testare in master localmente :)
Fabian Bosler

Come dice @roman, bisogna essere nella filiale locale.
woter324,

15

Spesso è più chiaro separare le due azioni git pull. La prima cosa che fa è aggiornare il branc di localizzazione corrispondente al ramo remoto. Questo può essere fatto con git fetch. Il secondo è che poi si fonde in cambiamenti, che ovviamente possono essere fatti git mergeanche se altre opzioni come git rebaseoccasionalmente sono utili.


7

Esempio di documentazione di Laravel:

git pull https://github.com/laravel/docs.git 5.8

in base al formato del comando:

git pull origin <branch>

👍


5

Ecco i passaggi per estrarre un ramo specifico o qualsiasi,

1.clona il master (devi fornire nome utente e password)

       git clone <url>

2. il comando sopra clonerà il repository e ora sarai il ramo master

       git checkout <branch which is present in the remote repository(origin)>

3. Il comando sopra eseguirà il checkout sul ramo che si desidera estrarre e verrà impostato per tracciare automaticamente quel ramo

4.Se per qualche motivo non funziona così, dopo aver eseguito il checkout a quel ramo nel sistema locale, basta eseguire il comando seguente

       git pull origin <branch>

1

Puoi prendere update / pull sul ramo git che puoi usare sotto il comando

git pull origin <branch-name>

Il comando precedente prenderà un aggiornamento / pull dal dare il nome del ramo

Se vuoi estrarre un altro ramo, devi andare a quel ramo.

git checkout master

Di

git pull origin development

Spero che funzionerà per te


0

git-pull - Recupera e integra con un altro repository o un ramo locale

git pull [options] [<repository> [<refspec>...]]

Puoi fare riferimento al documento git ufficiale https://git-scm.com/docs/git-pull

Es:

git pull origin dev


In che modo la tua risposta è diversa dalle altre già pubblicate?
j08691,

Sì, niente è l'unica cosa che riguarda i documenti ufficiali ( git-scm.com/docs/git-pull ) in modo da poter esplorare molte opzioni.
sesha,

0

se vuoi estrarre da un ramo specifico tutto quello che devi fare è

git pull 'remote_name' 'branch_name'

NOTA: assicurati di inserire prima il codice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.