Få en eksisterende Git-gren til at spore en fjerngren?

Jeg ved, hvordan man laver en ny filial, der følger fjernfilialer, men hvordan får jeg en eksisterende filial til at følge en fjernfilial?

Jeg ved, at jeg bare kan redigere filen .git/config, men det ser ud til, at der burde være en nemmere måde.

Du kan gøre følgende (hvis du er tjekket ud på master og ønsker at skubbe til en ekstern grenmaster):

Opsætning af 'remote' hvis du ikke allerede har det

git remote add origin ssh://...

Konfigurer nu master til at vide at spore:

git config branch.master.remote origin
git config branch.master.merge refs/heads/master

Og push:

git push origin master
Kommentarer (5)

Du kan måske finde værktøjet git_remote_branch nyttigt. Det tilbyder enkle kommandoer til at oprette, udgive, slette, spore & omdøbe eksterne grene. En god funktion er, at du kan bede en grb-kommando om at forklare hvilke git-kommandoer den ville udføre.

grb explain create my_branch github
# git_remote_branch version 0.3.0

# List of operations to do to create a new remote branch and track it locally:
git push github master:refs/heads/my_branch
git fetch github
git branch --track my_branch github/my_branch
git checkout my_branch
Kommentarer (4)

Redigering af .git/config er nok den nemmeste og hurtigste måde. Det er i hvert fald det, som Git-kommandoerne til håndtering af fjernforgreninger gør.

Hvis du ikke ønsker at rode med filen i hånden (og det er ikke så svært at gøre), kan du altid bruge git config til at gøre det... men igen, det vil alligevel bare redigere filen .git/config.

Der er selvfølgelig måder at spore en fjerngren automatisk, når man bruger git checkout (ved f.eks. at overgive --track-flaget), men disse kommandoer virker med nye grene, ikke eksisterende.

Kommentarer (0)