Estrarre il ramo remoto nel repository locale con un nome diverso?


112

Va bene, ho fatto un po 'di ricerca su questo ma non sono riuscito a trovare una risposta esatta, quindi devo chiedere.

Ho 2 telecomandi: origin e repo2.

Mi piacerebbe fare qualcosa di simile

git pull repo2 master

Ma questo attirerebbe il ramo principale del repo2 nel mio master. Posso specificare un ramo diverso da inserire per il mio ramo locale?

Risposte:


163
git checkout -b myBranchName repo2/master

20
Nota: devi aver eseguito git fetch remote2prima, se non ancora fatto. Altrimenti potresti vedere> fatale: impossibile aggiornare i percorsi e passare al ramo "myBranchName" allo stesso tempo.
dman

Nota: se è necessario respingere, utilizzare git push repo2 myBranchName:mastercome semplice git pushfallirà
jaimedash

2
E se la filiale esiste già? Voglio aggiornare il codice lì con il codice dal repo.
Jared

@ Jared Tecnicamente una domanda diversa, ma anche facilmente possibile (e in realtà questo è uno dei casi d'uso più comuni). Dipende leggermente da quello che hai già fatto. Nella maggior parte dei casi è solo git checkout my_branch && git pull --rebase( --rebasedipende dal flusso di lavoro). Se il ramo non sta già monitorando quello remoto, è necessario eseguire git branch --set-upstream my_branch upstream/my_branchuna volta.
KingCrunch

4

Il git pullcomando è una comoda funzione che esegue git fetche git merge. Se vuoi solo recuperare i rami da un nuovo telecomando senza provare a unirlo in un ramo di copia funzionante, puoi semplicemente usare git fetch. Puoi quindi fare riferimento a git branch -avper vedere tutti i rami locali e remoti e operare su entrambi i remoti come preferisci.

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.