Hogyan hozhat létre távoli Git ágat?

Létrehoztam egy helyi ágat, amelyet 'push' felfelé akarok tolni. Van egy hasonló kérdés itt a Stack Overflow-n, hogy hogyan lehet nyomon követni egy újonnan létrehozott távoli ágat.

Az én munkafolyamatom azonban kissé más. Először egy helyi ágat akarok létrehozni, és csak akkor fogom upstreamre tolni, amikor elégedett vagyok, és meg akarom osztani az ágamat.

  • Hogyan tudnám ezt megtenni? (a google keresésem nem úgy tűnik, hogy bármit is találtam volna).
  • Hogyan mondanám meg a kollégáimnak, hogy húzzák ki az upstream tárolóból?

FELSZÓLÍTÁS A Git 2.0-val van egy egyszerűbb válasz Az alábbiakban írtam: https://stackoverflow.com/a/27185855/109305.

Először helyben hozza létre az ágat:

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

A távoli ág automatikusan létrejön, amikor a távoli kiszolgálóra tolod. Tehát amikor úgy érzed, hogy készen állsz rá, akkor csak csináld:

git push   

Ahol a `tipikusan azorigin`, vagyis az a név, amit a git ad a távoli ágnak, ahonnan klónoztál. A kollégáid ezután csak húzzák ezt az ágat, és az automatikusan létrejön helyben.

Megjegyezzük azonban, hogy formálisan a formátum a következő:

git push  :

Ha azonban az egyiket kihagyja, akkor azt feltételezi, hogy mindkét ág neve azonos. Mindezek után óvatosan, ne kövesse el azt a kritikus hibát, hogy csak a `:-t (kettősponttal) adja meg, különben a távoli ág törlődik!

Annak érdekében, hogy egy későbbi git pull tudja, mit kell tennie, érdemes inkább a következőt használni:

git push --set-upstream   

Az alábbiakban leírtak szerint a --set-upstream opció létrehoz egy upstream ágat:

Minden olyan ághoz, amely naprakész vagy sikeresen elküldve, hozzáad egy upstream ágat. (nyomon követési) hivatkozást, amelyet a argumentum nélküli git-pull(1) és egyéb parancsok.

Kommentárok (29)

Először is, helyben kell létrehoznia az ágat

git checkout -b your_branch

Ezután dolgozhatsz lokálisan az ágadban, és amikor készen állsz az ág megosztására, akkor pushold azt. A következő parancs az ágat a távoli tároló eredetére tolja és követi azt

git push -u origin your_branch

A csapattársak elérhetik az ágadat, ezzel:

git fetch
git checkout origin/your_branch

Folytathatod a munkát az ágban, és bármikor tolhatod, amikor csak akarod, anélkül, hogy érveket adnál át a git push-nak (az érv nélküli git push a master-t a távoli master-re, a your_branch local-t a távoli your_branch-ra, stb...).

git push

A csapattársak a te ágadba pusholhatnak úgy, hogy commitokat végeznek, majd explicit módon pusholnak.

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

Vagy követhetik az ágat, hogy elkerüljék a git push érveit.

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

Ahogy az előző válaszokban is szerepel,

git push  :

elég egy helyi ág tolására.

A kollégáid, ezzel a paranccsal az összes távoli ágat (beleértve az újakat is) kihúzhatják:

git remote update

Ezután az ágon történő változtatáshoz a szokásos folyamattal:

git checkout -b  /
Kommentárok (0)