Jak vytvoříte vzdálenou větev systému Git?

Vytvořil jsem lokální větev, kterou chci 'poslat' do upstreamu. Na Stack Overflow je podobný dotaz, jak sledovat nově vytvořenou vzdálenou větev.

Můj pracovní postup je však poněkud odlišný. Nejdříve chci vytvořit místní větev, a teprve až budu'spokojen a budu chtít svou větev sdílet, budu ji posílat do upstreamu.

  • Jak bych to měl udělat? (Zdá se, že mé hledání na Googlu na nic nepřišlo).
  • Jak bych řekl svým kolegům, aby to stáhli z upstreamového repozitáře?

DOPLNĚNO S Gitem 2.0 existuje jednodušší odpověď Napsal jsem níže: https://stackoverflow.com/a/27185855/109305.

Nejprve si vytvoříte místní pobočku:

git checkout -b  # Create a new branch and check it out

Vzdálená větev se vytvoří automaticky při odeslání na vzdálený server. Takže až se na to budete cítit připraveni, stačí udělat:

git push   

Kde `je obvykleorigin`, jméno, které git přidělí vzdálené větvi, z níž jste klonovali. Vaši kolegové si pak jen stáhnou tuto větev a ta se automaticky vytvoří lokálně.

Všimněte si však, že formálně je formát:

git push  :

Pokud však jeden z nich vynecháte, předpokládá se, že oba názvy větví jsou stejné. Po těchto slovech bych vás chtěl upozornit, abyste neudělali kritickou chybu a neuvedli pouze : (s dvojtečkou), jinak bude vzdálená větev smazána!

Aby následné git pull vědělo, co má dělat, můžete místo toho použít:

git push --set-upstream   

Jak je popsáno níže, volba --set-upstream nastaví větev upstreamu:

Pro každou větev, která je aktuální nebo úspěšně odeslána, přidá upstreamovou větev. (sledovací) odkaz, který používá bez argumentů git-pull(1) a dalšími nástroji příkazy.

Komentáře (29)

Nejprve je třeba vytvořit místní větev

git checkout -b your_branch

Poté můžete ve své větvi pracovat lokálně, a až budete připraveni větev sdílet, odešlete ji. Dalším příkazem odešlete větev do vzdáleného původního úložiště a sledujte ji

git push -u origin your_branch

Spolupracovníci týmu se mohou dostat do vaší větve, a to provedením:

git fetch
git checkout origin/your_branch

Můžete pokračovat v práci ve větvi a odesílat, kdykoli chcete, aniž byste museli předávat argumenty příkazu git push (git push bez argumentů odešle master do vzdáleného master, vaše_větev local do vzdálené vaší_větve atd...).

git push

Spolupracovníci týmu mohou pushovat do vaší větve tak, že provedou revize a pak explicitně pushují

... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch

Nebo sledovat větev, aby se vyhnuli argumentům pro git push.

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push
Komentáře (0)

Jak je uvedeno v předchozích odpovědích,

git push  :

stačí pro odeslání místní větve.

Vaši kolegové mohou tímto příkazem vytáhnout všechny vzdálené větve (včetně nových):

git remote update

Pro provedení změn ve větvi pak použijte obvyklý postup:

git checkout -b  /
Komentáře (0)