Ako vytvoríte vzdialenú vetvu systému Git?

Vytvoril som lokálnu vetvu, ktorú chcem 'posunúť' do upstreamu. Na Stack Overflow je podobná otázka, ako sledovať novo vytvorenú vzdialenú vetvu.

Môj pracovný postup je však trochu odlišný. Najskôr chcem vytvoriť lokálnu vetvu a do upstreamu ju budem posielať až vtedy, keď budem'spokojný a budem chcieť svoju vetvu zdieľať.

  • Ako by som to mal urobiť? (moje vyhľadávanie v Googli zrejme na nič neprišlo).
  • Ako by som povedal svojim kolegom, aby ju stiahli z úložiska upstream?

UPDATE S Gitom 2.0 existuje jednoduchšia odpoveď Napísal som nižšie: https://stackoverflow.com/a/27185855/109305

Najprv si vytvoríte lokálnu vetvu:

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

Vzdialená vetva sa vytvorí automaticky pri odoslaní na vzdialený server. Takže keď sa na to budete cítiť pripravení, môžete jednoducho urobiť:

git push   

Kde `je zvyčajneorigin`, názov, ktorý git dáva vzdialenej vetve, z ktorej ste klonovali. Vaši kolegovia potom len stiahnu túto vetvu a tá sa automaticky'vytvorí lokálne.

Všimnite si však, že formálne je formát:

git push  :

Ak však jeden z nich vynecháte, predpokladá sa, že oba názvy vetiev sú rovnaké. Po tom, čo sme to povedali, ako upozornenie na opatrnosť, neurobte kritickú chybu, keď uvediete iba : (s dvojbodkou), inak bude vzdialená vetva vymazaná!

Aby následné git pull vedelo, čo má robiť, môžete namiesto toho použiť:

git push --set-upstream   

Ako je popísané nižšie, voľba --set-upstream nastaví vetvu upstreamu:

Pre každú vetvu, ktorá je aktuálna alebo úspešne odsunutá, pridá upstream (sledovací) odkaz, ktorý používa bez argumentov git-pull(1) a iné príkazy.

Komentáre (29)

Najprv musíte lokálne vytvoriť svoju vetvu

git checkout -b your_branch

Potom môžete pracovať lokálne vo svojej vetve, keď budete pripravení vetvu zdieľať, pushnite ju. Ďalší príkaz push vetvy do vzdialeného repozitára origin a sleduje ju

git push -u origin your_branch

Spolupracovníci tímu sa môžu dostať do vašej vetvy, vykonaním:

git fetch
git checkout origin/your_branch

Môžete pokračovať v práci vo vetve a posúvať ju, kedykoľvek chcete, bez toho, aby ste git push odovzdali argumenty (git push bez argumentov bude posielať master do vzdialeného master, vaša_vetva lokálne do vzdialenej vašej_vetvy atď...).

git push

Členovia tímu môžu pushovať do vašej vetvy tak, že vykonajú revízie a potom explicitne pushujú

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

Alebo sledovať vetvu, aby sa vyhli argumentom pre git push

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

Ako je uvedené v predchádzajúcich odpovediach,

git push  :

stačí na presúvanie miestnej vetvy.

Vaši kolegovia, môžu týmto príkazom vytiahnuť všetky vzdialené vetvy (vrátane nových):

git remote update

Potom, ak chcete vykonať zmeny vo vetve, použite obvyklý postup:

git checkout -b  /
Komentáre (0)