Ik heb een project met meerdere branches. Ik'heb ze naar GitHub gepushed, en nu dat iemand anders aan het project werkt moet ik hun branches van GitHub halen. Het werkt prima in master. Maar stel dat iemand een branch xyz
heeft gemaakt. Hoe kan ik branch xyz
van GitHub halen en het samenvoegen in branch xyz
op mijn localhost
?
Ik heb mijn antwoord eigenlijk hier: https://stackoverflow.com/questions/1072261/push-and-pull-branches-in-git
Maar ik krijg een foutmelding "! [rejected]" en iets over "non fast forward".
Iemand suggesties?
Volg gewoon expliciet je remote branches en een eenvoudige git pull
zal precies doen wat je wilt:
git branch -f remote_branch_name origin/remote_branch_name
git checkout remote_branch_name
Dit laatste is een lokale operatie.
Of nog meer passend in de GitHub documentatie over forking:
git branch -f new_local_branch_name upstream/remote_branch_name
Je zou een branch naar een branch kunnen trekken met de volgende commando's.
git pull {repo} {remotebranchname}:{localbranchname}
git pull origin xyz:xyz
Als je op de master branch zit, kun je ook eerst een branch checkout doen zoals:
git checkout -b xyz
Dit creëert een nieuwe branch, "xyz", van de master en checkt het direct uit.
Dan doe je:
git pull origin xyz
Dit trekt de nieuwe branch naar je lokale xyz
branch.
Ik weet niet zeker of ik het probleem helemaal begrijp, maar het trekken van een bestaande branch gaat als volgt (bij mij werkt het in ieder geval :)
git pull origin BRANCH
Dit is in de veronderstelling dat je lokale branch is gemaakt van de origin/BRANCH.