Jeg har et prosjekt med flere grener. Jeg har presset dem til GitHub, og nå som noen andre jobber med prosjektet, må jeg trekke grenene deres fra GitHub. Det fungerer fint i master. Men la oss si at noen opprettet en gren xyz
. Hvordan kan jeg trekke gren xyz
fra GitHub og flette den inn i gren xyz
på min localhost
?
Jeg har faktisk svaret mitt her: https://stackoverflow.com/questions/1072261/push-and-pull-branches-in-git
Men jeg får en feil "! [avvist]" og noe om "ikke hurtigspoling".
Noen forslag?
Bare spor dine eksterne filialer eksplisitt, og et enkelt git pull
vil gjøre akkurat det du ønsker:
git branch -f remote_branch_name origin/remote_branch_name
git checkout remote_branch_name
Sistnevnte er en lokal operasjon.
Eller enda mer passende med GitHub-dokumentasjon om forgrening:
git branch -f new_local_branch_name upstream/remote_branch_name
Du kan trekke en gren til en gren med følgende kommandoer.
git pull {repo} {remotebranchname}:{localbranchname}
git pull origin xyz:xyz
Når du er på hovedgrenen, kan du også først sjekke ut en gren som:
git checkout -b xyz
Dette oppretter en ny gren, "xyz", fra masteren og sjekker den direkte ut.
Så gjør du det:
git pull origin xyz
Dette trekker den nye grenen til din lokale xyz
-gren.
Jeg er ikke sikker på at jeg helt forstår problemet, men å trekke en eksisterende gren gjøres slik (i det minste fungerer det for meg :)
git pull origin BRANCH
Dette forutsetter at den lokale grenen din er opprettet av opprinnelsen / BRANCH.