Kako stvoriti udaljenu git granu?

Stvorio sam lokalnu podružnicu koju želim "gurati" uzvodno. solopackaging.ru ima slično pitanje o tome kako pratiti novostvorenu udaljenu granu.

Međutim, moj je tijek rada malo drugačiji. Prvi. Želim stvoriti lokalnu podružnicu i samo ću je gurati uzvodno kada budem zadovoljan i želim podijeliti svoju granu.

  • Kako to mogu učiniti? (čini se da moja Google pretraživanja nisu smislila ništa).
  • Kako mogu reći kolegama da ga izvade iz repozitorija uzvodno?

UPDATE Uz Git 2.0 postoji jednostavniji odgovor koji sam napisao u nastavku: solopackaging.ru.site/questions/296 / ...

2467
05 окт. Postavio ga je Jesper Rønn-Jensen 5. listopada 2009-10-05 12:21 '09 u 12:21 2009-10-05 12:21
@ 17 odgovora

Jednostavno rješenje Git 2.0+:

Od Git 2.0 ponašanje je pojednostavljeno :

Git možete konfigurirati tako da push.default = current kako bi vam olakšao život:

Dodao sam ga ovako, sada mogu samo gurnuti novu granu uzvodno

 $ git push -u 

-u će pratiti udaljenu granu s istim imenom. Ne, s ovom konfiguracijom, automatski pogodite daljinsku vezu za Git push. Iz dokumentacije git.config :

push.default

Definira Git push akciju koja će se izvesti, osim ako izričito ne navedete refspec.

push.default = current - kliknite na trenutnu granu kako biste ažurirali granu s istim imenom na strani primatelja. Radi u središnjim i necentralnim radnim procesima.

Za mene je ovo dobro pojednostavljenje dnevnog Gitovog tijeka rada. U konfiguracijskom postavu, "normalan" slučaj korištenja koristi se kada dodate granu lokalno i želite je stvoriti na daljinu. Osim toga, mogu isto tako lako stvoriti lokalne ogranke od daljinskih upravljača jednostavnim izvođenjem git co remote_branch_name (za razliku od korištenja --set-upstream-to flag).

Znam ovo pitanje, a prihvaćeni odgovori su prilično stari, ali ponašanje se promijenilo, tako da sada postoje opcije konfiguracije koje pojednostavljuju vaš tijek rada.

Da biste dodali Git u vašu globalnu konfiguraciju, pokrenite ga u naredbenom retku:

 $ git config --global push.default current 
192
28 нояб. Odgovor je dao Jesper Rønn-Jensen 28. studenog. 2014-11-28 12:46 '14 u 12:46 2014-11-28 12:46

Prvo kreirajte svoju podružnicu lokalno:

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

Udaljena grana se automatski kreira kada je kliknete na udaljenom poslužitelju. Stoga, kada se osjećate spremni za to, jednostavno možete:

 git push <remote-name> <branch-name> 

Gdje je <remote-name> obično origin , ime koje git daje klonu koji ste izbrisali. Tada bi vaši kolege jednostavno povukli ovu granu i ona bi se automatski stvorila lokalno.

Napominjemo da je formalni format:

 git push <remote-name> <local-branch-name>:<remote-branch-name> 

Ali kada ispustite jednu, pretpostavlja se da su obje grane iste. Nakon što smo to rekli kao oprez , nemojte praviti kritičnu pogrešku kada navodite samo :<remote-branch-name> (s dvotočkom) ili će udaljena grana biti izbrisana!

Da biste kasnije znali što učiniti, možete umjesto toga upotrijebiti:

 git push --set-upstream <remote-name> <local-branch-name> 

Kao što je opisano u nastavku, opcija --set-upstream uspostavlja uzvodnu granu:

Za svaku granu, trenutnu ili uspješno kliknutu, dodanu uzvodno (praćenje), korišteni argument je manji od git -pull (1) i drugih naredbi.

3020
05 окт. Odgovori Ikke 05 oct. 2009-10-05 12:29 '09 u 12:29 2009-10-05 12:29

Najprije morate stvoriti lokalnu podružnicu.

 git checkout -b your_branch 

Nakon toga možete raditi lokalno u svojoj grani, kada ste spremni podijeliti granu, kliknite je. Sljedeća naredba pritiska granu na izvor udaljenog spremišta i prati je.

 git push -u origin your_branch 

Prijatelji mogu doći do vaše grane radeći:

 git fetch git checkout origin/your_branch 

Možete nastaviti raditi u grani i kliknuti kad god želite, bez prosljeđivanja argumenata git push-u (bez argumenata, git push pritisne čarobnjaka za udaljenog čarobnjaka, your_branch lokalno do udaljenog your_branch, itd.)

 git push 

Prijatelji mogu kliknuti na vašu granu, obvezati, a zatim izričito kliknuti

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

Ili pratite granu kako biste izbjegli argumente git push

 git checkout --track -b your_branch origin/your_branch ... work ... git commit ... work ... git commit git push 
742
26 июля '11 в 4:09 2011-07-26 04:09 odgovor je dseminara 26. srpnja '11 u 4:09 2011-07-26 04:09

Kao što je navedeno u prethodnim odgovorima,

 git push <remote-name> <local-branch-name>:<remote-branch-name> 

dovoljno da kliknete na lokalnu podružnicu.

Vaši kolege mogu prikazati sve udaljene grane (uključujući nove) pomoću ove naredbe:

 git remote update 

Zatim, da biste izvršili promjene u grani, normalni protok:

 git checkout -b <local-branch-name> <remote-name>/<remote-branch-name> 
62
27 дек. odgovor od Luciana 27. prosinca 2011-12-27 17:12 '12 u 17:12 2011-12-27 17:12

Stvorite novu poslovnicu lokalno na temelju trenutačne grane:

 git checkout -b newbranch 

Obavite sve promjene kao i obično. Zatim ga gurnite uzvodno:

 git push -u origin HEAD 

To je prečac za pomicanje trenutne grane u granu s istim imenom na origin i praćenje, tako da u budućnosti ne morate specificirati origin HEAD .

39
24 февр. Odgovor daje Zenexer 24. veljače. 2014-02-24 17:58 '14 u 17:58 2014-02-24 17:58

Ako samo želite stvoriti udaljenu granu bez lokalne, to možete učiniti na sljedeći način:

 git push origin HEAD:refs/heads/foo 

On gura sve što vaša glava mora onemogućiti, što nije bilo na daljinskom upravljaču.

27
25 нояб. Odgovor je dat Tassadar 25 Nov. 2015-11-25 18:29 '15 u 18:29 2015-11-25 18:29

Prvo kreirajte podružnicu lokalno:

 git checkout -b your_branch 

Zatim daljinski stvorite podružnicu:

 git push --set-upstream origin your_branch 

Napomena. To radi s verzijama git-a:

 $ git --version git version 2.3.0 

Hura!

21
22 апр. Odgovor dao ipegasus 22. travnja 2015-04-22 02:43 '15 u 2:43 2015-04-22 02:43

Ako želite stvoriti granu iz trenutne grane

 git checkout -b {your_local_branch_name} 

trebate podružnicu iz udaljene grane, možete pokušati

 git checkout -b {your_local_branch_name} origin/<remote_branch_name> 

Ako ste završili s promjenama, možete dodati datoteku.

 git add -A or git add <each_file_names> 

Zatim izvršite lokalno.

 git commit -m 'your commit message' 

Ako želite kliknuti na daljinsko repo

 git push -u origin <your_local_branch_name> 

Sve zajedno

 git checkout -b bug_fixes 

ili Ako želite stvoriti granu iz udaljene grane, recimo razvoj

git checkout -b bug_fixes izvor / razvoj

Možete kliknuti na granu radi daljinskog repoa

 git push -u origin **bug_fixes** 

U bilo kojem trenutku kada želite ažurirati granu iz bilo koje druge grane, recite čarobnjaku .

git pull origin master .

17
01 мая '16 в 9:12 2016-05-01 09:12 odgovor je dan sreekumar 01 svibanj '16 u 9:12 2016-05-01 09:12

Stvorite granu na lokalnom računalu i omogućite ovu granu:

 $ git checkout -b [name_of_your_new_branch] 

Kliknite granu na githubu:

 $ git push origin [name_of_your_new_branch] 

Ako želite popraviti nešto u svojoj grani, provjerite jeste li u svojoj grani.

Možete vidjeti sve ogranke stvorene pomoću:

 $ git branch 

Što će biti prikazano:

 * approval_messages master master_clean 

Dodajte novi daljinski upravljač za svoju granu:

 $ git remote add [name_of_your_remote] 

Kliknite na izmjene iz predavanja u vašoj niti:

 $ git push origin [name_of_your_remote] 

Ažurirajte granu kada se ažurira izvorna grana iz službenog repozitorija:

 $ git fetch [name_of_your_remote] 

Zatim morate podnijeti zahtjev za spajanje izmjena, ako je vaša podružnica stvorena iz razvoja, trebate učiniti:

 $ git merge [name_of_your_remote]/develop 

Izbrišite granu u lokalnom datotečnom sustavu:

 $ git branch -d [name_of_your_new_branch] 

Da biste prisilili lokalnu granu na datotečnom sustavu:

 $ git branch -d [name_of_your_new_branch] 

Izbrišite granu na githubu:

 $ git push origin :[name_of_your_new_branch] 

Ovdje su sve informacije.

Još jedan postojeći projekt

15
27 мая '16 в 14:39 2016-05-27 14:39 odgovor je dobio Numan Turkeri 27. svibnja u 14:39 sati u 16:39

Najlakše rješenje ... Drumm Roll. git verzija 2.10.1 (Apple Git -78)

 1) git checkout -b localBranchNameThatDoesNotExistInRemote 2) Do your changes , and go a git commit 3) git push origin localBranchNameThatDoesNotExistInRemote --force 

NB - granu koju trenutno koristite na lokalnom računalu i udaljenu nepostojeću granu u koju pokušavate kliknuti mora imati isto ime .

10
18 марта '17 в 9:23 2017-03-18 09:23 odgovor je dan sapy 18. ožujka 2006. u 9:23 2017-03-18 09:23

Sada s git možete samo upisati kada ste u ispravnoj grani.

git push --set-upstream origin <remote-branch-name >

i git za vas stvaraju podružnicu.

8
27 окт. odgovor Maurizio Brioschi 27. listopada. 2014-10-27 20:05 '14 u 20:05 2014-10-27 20:05

Znam da je ovo pitanje dobro odgovoreno, ali samo sam htio navesti korake koje poduzimam kako bih stvorio novu granu "myNewBranch" i kliknite na daljinski ("izvor" u mom slučaju) i postavite praćenje. Razmotrite ovu verziju "tl; dr" :)

 # create new branch and checkout that branch git checkout -b myNewBranch # now push branch to remote git push origin myNewBranch # set up the new branch to track remote branch from origin git branch --set-upstream-to=origin/myNewBranch myNewBranch 
7
23 окт. odgovor je dat sufinawaz 23. listopada. 2014-10-23 17:09 '14 u 17:09 2014-10-23 17:09

Samo sam to htio dodati:

 git checkout -b {branchName} 

Stvara novu granu, također provjerava da je grana / čini trenutnu granu. Ako iz nekog razloga želite samo onemogućiti granu, ali je nemojte činiti trenutnom granom, tada ćete koristiti sljedeću naredbu:

 git branch {branchName} 

U prvoj naredbi, "naplata" čini navedenu granu vašom trenutnom granom, a "-b" znači: ova grana još ne postoji, pa to učinite za mene.

6
30 марта '15 в 17:02 2015-03-30 17:02 Odgovor je dao Brian Sachetta 30. ožujka '15. U 17:02. 2015-03-30 17:02

Stvaranje lokalne podružnice iz postojeće grane (možda master / develop / any-other-branch).

git checkout -b dir_name

Pritisnite ovu tipku na daljinskom upravljaču.

git push -u ime_data local_branch_name: remote_branch_name

ovdje

  • -u: instalira upstream granu
  • dalname: git postavlja zadano ime na "izvor" prilikom stvaranja spremišta. Međutim, to se može promijeniti u drugo proizvoljno ime.
  • local_branch_name: naziv lokalne grane koju treba pritisnuti.
  • remote_branch_name: ime udaljene grane koju želimo stvoriti na udaljenom računalu.

Ako izbrišemo lokalne i udaljene nazive grana, imat će format

git push -u ime_datoteke memory_name

Time će se izbrisati lokalna grana s istim imenom kao i naziv grane. Lokalna podružnica će također pratiti udaljenu granu.

5
15 февр. Odgovor daje iosCurator 15. veljače. 2017-02-15 09:57 '17 u 9:57 2017-02-15 09:57

Kako napraviti kroz stablo izvora

  1: Open SourceTree, click on Repository -> Checkout 2 :Click on Create New Branch 3: Select branch where from you want to get code for new branch 4: Give your branch name 5: Push the branch (by click on Push button) 
4
21 июля '15 в 14:27 2015-07-21 14:27 odgovor je dao Monis Majeed 21. srpnja 15 u 14:27 2015-07-21 14:27

git push -u <remote-name> <branch-name> ne radi ako novostvorena grana nije stvorena iz istog repoa, tj. ako niste kreirali novu granu s git checkout -b new_branch , to neće raditi.

Primjerice, lokalno sam klonirao dva različita spremišta i morao sam kopirati repo2 / branch1 u repo1 /, a zatim i kliknuti na njega.

Ova mi je veza pomogla preusmjeriti svoju lokalnu podružnicu (klonirano iz drugog repo posla) u udaljeno repo:

3
25 февр. odgovor je dan na poklone 25. veljače 2014-02-25 00:38 '14 u 0:38 2014-02-25 00:38

Evo kako to radite u Eclipse preko Egita.

1) Idite na prikaz "Git Repository Exploring" i objasnite projekt git kojem želite stvoriti granu. U odjeljku Brances → Local .. odaberite granu za koju želite stvoriti granu (u mom slučaju, ja sam izabrao master .. možete odabrati drugu različitu granu ako želite) .. zatim kliknite desnom tipkom i odaberite opciju Create Branch. i odaberite opciju checkout ovog projekta, a zatim kliknite gumb za dovršetak.

2) Sada, iz projekta istraživača, odaberite projekt .. desnom tipkom miša kliknite Tim → Push Branch.

Stvorit će se nova udaljena poslovnica. Možete odrediti naziv podružnice svojim kolegama kako bi ga mogli izvući.

3
01 февр. odgovor je dan user2225713 01. veljače. 2014-02-01 02:46 '14 u 2:46 2014-02-01 02:46

Ostala pitanja o ili postavljanju pitanja