Risposte:
Puoi fare riferimento a quei rami di localizzazione remoti ~ (elencati con git branch -r) con il nome del loro telecomando.
Devi recuperare il ramo remoto:
git fetch origin aRemoteBranch
Se desideri unire una di quelle filiali remote nella tua filiale locale:
git checkout master
git merge origin/aRemoteBranch
Nota 1: per un repository di grandi dimensioni con una lunga cronologia, si desidera aggiungere l' --depth=1opzione quando si utilizza git fetch.
Nota 2: questi comandi funzionano anche con altri repository remoti in modo da poter impostare an origine an upstreamse si sta lavorando su un fork.
Scenario opposto: se si desidera unire uno dei rami locali su un ramo remoto (anziché un ramo remoto con uno locale, come mostrato sopra), è necessario creare prima un nuovo ramo locale sopra detto ramo remoto:
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
L'idea qui è quella di unire "una delle tue filiali locali" (qui anotherLocalBranch) in una filiale remota ( origin/aBranch).
Per questo, devi creare prima " myBranch" come rappresentante quel ramo remoto: questa è la git checkout -b myBranch origin/aBranchparte.
E quindi puoi unirti anotherLocalBranchad esso (a myBranch).
aLocalBranch" a " myBranch", con " myBranch" che rappresenta una filiale remota origin/aBranch.
aLocalBranchnon è un errore di battitura, ma hai approvato l'ultima modifica (2 anni dopo!) Che corregge questo "probabile errore di battitura". Volevo verificare con te prima di annullare la modifica.
Ogni volta che faccio un'unione, entro nel ramo in cui voglio unirmi (ad es. " git checkout branch-i-am-working-in") E quindi faccio quanto segue:
git merge origin/branch-i-want-to-merge-from
git fetch origin/branch-i-want-to-merge-fromprimo, giusto?
git fetch origin developseguito dagit merge origin/develop
git merge da solo non lo farà.
git add .-> git commit -m <message>-> git push -u origin <branch>?
Recupera prima il ramo remoto dall'origine.
git fetch origin remote_branch_name
Unire il ramo remoto al ramo locale
git merge origin/remote_branch_name
Forse vuoi tracciare il ramo remoto con un ramo locale:
git branch new-local-branchgit branch --set-upstream-to=origin/remote-branch new-local-branchgit checkout new-local-branchgit pullSe hai già recuperato il tuo ramo remoto e lo fai git branch -a,
ottieni qualcosa del tipo:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
Successivamente, è possibile utilizzare rep_mirror/8.0per designare localmente la filiale remota.
Il trucco è che remotes/rep_mirror/8.0non funziona ma rep_mirror/8.0funziona.
Quindi, un comando come git merge -m "my msg" rep_mirror/8.0fare l'unione.
(nota: questo è un commento alla risposta @VonC. L'ho inserito come un'altra risposta perché i blocchi di codice non si adattano al formato del commento)