Git

Git Show Remote Branches

Git Show Remote Branches
Gitova sposobnost da lako stvara grane je sjajna karakteristika. Međutim, kada se bavite lokalnim i udaljenim granama, to može postati malo komplicirano. Postavimo situaciju u kojoj ćemo stvoriti vlastito Git spremište koje će se ponašati kao udaljeni repo. Tada ćemo stvoriti i urediti grane za naše udaljeno spremište iz project_source. Nakon toga klonirat ćemo udaljeno spremište i igrati se granama. Vježba bi vam također trebala dati ideju o tome kako funkcioniraju udaljeni repozitoriji poput GitHub i BitBucket. Možete ga vizualizirati na sljedeći način:

Krenimo od Git spremišta. Stvorit ćemo mapu koja se zove projekt.git i inicijalizirajte ga da postane udaljeno spremište:

$ mkdir projekt.git
$ cd projekt.git /
$ git init --bare
Inicijalizirano prazno Git spremište u / Users / zakh_eecs / _work / LearnGIT / git_remote_repository /
projekt.git /

Sada idite na novo mjesto gdje možete stvoriti čistu mapu. Stvorite mapu project_source i inicijalizirajte je za Git:

$ mkdir project_source
 
$ cd projektni_izvor
 
$ git init
Inicijalizirano prazno Git spremište u / Users / zakh_eecs / _work / LearnGIT / git_branching_source /
izvor_projekta /.git /
 
$ touch ReadMe.txt
 
$ git dodaj -A
 
$ git commit -m "Početno predavanje"
[master (root-commit) 176134f] Početno predavanje
Promijenjena je 1 datoteka, 0 umetanja (+), 0 brisanja (-)
način stvaranja 100644 ReadMe.txt

Project_setup je Git direktorij s ReadMeom.txt datoteku. Međutim, nije povezan s našim udaljenim spremištem. Postavimo projekt.git biti udaljeno spremište za project_source. To možemo postići sljedećom naredbom:

$ git remote add origin / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
 
$ git push master master
Brojanje predmeta: 3, gotovo.
Zapisivanje objekata: 100% (3/3), 213 bajtova | 0 bajtova / s, gotovo.
Ukupno 3 (delta 0), ponovno upotrijebljena 0 (delta 0)
U / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [nova grana] master -> master

Pomoću naredbe git remote add origin stvorili smo vezu između projekta.git i izvor_projekta. Uz naredbu git push origin master, gurnuli smo našu glavnu granu u udaljeno spremište.

Provjerimo naše grane (još uvijek u mapi project_source):

$ git grana
* ovladati; majstorski
 
$ git grana -r
podrijetlo / gospodar
 
$ git grana -a
* ovladati; majstorski
daljinski upravljači / podrijetlo / master

Prva naredba prikazuje samo lokalnu granu. Opcija -r prikazuje udaljenu granu. A opcija -a prikazuje i lokalno i udaljeno.

Stvorimo nekoliko grana u našem radnom direktoriju:

$ git razvoj grane
 
$ git hitni popravak grane
 
$ git grana eksperimentalno
 
$ git grana -a
razvoj
eksperimentalni
hitni popravak
* ovladati; majstorski
daljinski upravljači / podrijetlo / master

Stvorili smo grane pod nazivom razvoj, hitni popravak i eksperimentalno. Oni se pojavljuju na našem popisu lokalnih podružnica. Ali u daljinskim upravljačima / izvoru postoji samo glavna grana, jer je to jedina koju smo gurnuli. Zvijezda (*) master znači da smo još uvijek u lokalnoj grani master. Krenimo u razvojnu granu, počinimo promjene i guramo te promjene u udaljeno spremište.

Razvoj $ git blagajne
Prebačeno na "razvoj" grane
 
$ echo abc> ReadMe.txt
 
$ git dodaj -A
 
$ git commit -m "Izmijenjena grana razvoja"
[razvoj dd9933e] Izmijenjena grana razvoja
1 datoteka promijenjena, 1 umetanje (+)
 
$ git push razvoj porijekla
Brojanje predmeta: 3, gotovo.
Zapisivanje predmeta: 100% (3/3), 257 bajtova | 0 bajtova / s, gotovo.
Ukupno 3 (delta 0), ponovno upotrijebljena 0 (delta 0)
U / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [nova grana] razvoj -> razvoj

Provjerimo sada sve grane:

$ git grana -a
* razvoj
eksperimentalni
hitni popravak
ovladati; majstorski
daljinski upravljači / podrijetlo / razvoj
daljinski upravljači / podrijetlo / master

Vidimo da smo u lokalnoj razvojnoj grani, ali postoji i udaljena razvojna grana. Kada smo progurali naše promjene razvojem git push origin, stvorio je razvojnu granu u daljinskim upravljačima / izvoru.

Izađimo sada iz izvora_projekta i pronađimo svježe mjesto na kojem možemo dobiti novu mapu. Ovdje ćemo klonirati udaljeno spremište sljedećom naredbom:

$ git clone / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
Kloniranje u 'projekt' ..
gotovo.

Klonirali smo novu kopiju nazvanu projekt iz projekta.git. Uđite u mapu projekta i provjerite grane:

$ cd projekt
 
$ git grana
* ovladati; majstorski

Kada Git napravi početni klon iz udaljenog spremišta, dobiva samo glavnu granu. Ako upotrijebimo opciju -a, vidjet ćemo:

$ git grana -a
* ovladati; majstorski
daljinski upravljači / podrijetlo / GLAVA -> podrijetlo / master
daljinski upravljači / podrijetlo / razvoj
daljinski upravljači / podrijetlo / master

Primijetite da ne postoji lokalna razvojna grana. Također, nikada nismo gurali hitne ispravke i eksperimentalne grane s project_source na projekt.git, pa ih ne vidimo. Udaljeno spremište ima master i razvojne grane (daljinski upravljači / izvor / HEAD -> origin / master nije grana, samo vam govori kamo HEAD pokazuje).

Uvedimo razvojnu granu u svoje radno okruženje:

$ git fetch - sve
Dohvaćanje podrijetla
 
Razvoj $ git blagajne
Razvoj podružnica postavljen za praćenje razvoja udaljenih podružnica od porijekla.
Prebačen na novu granu 'razvoj'

Ako koristite stariju verziju Gita, možda ćete morati koristiti:

$ git checkout razvojno podrijetlo / razvoj

Sada ako koristimo naredbu grana, dobit ćemo:

$ git grana -a
* razvoj
ovladati; majstorski
daljinski upravljači / podrijetlo / GLAVA -> podrijetlo / master
daljinski upravljači / podrijetlo / razvoj
daljinski upravljači / podrijetlo / master

Možemo napraviti promjene u razvojnoj grani, izvršiti promjene, a zatim ih gurnuti pomoću naredbe za razvoj git push origin.

U zaključku

Kada radite s GitHubom i BitBucketom, možete koristiti HTTPS ili SSH vezu za povezivanje s udaljenim spremištem. Tako ćete postaviti svoje podrijetlo tim vezama. Ali principi udaljene grane isti su kao što je ovdje opisano.

Daljni studiji:

Vodič za Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider dvanaesti je dodatak seriji Tomb Raider - franšizi u akcijsko-avanturističkoj igri koju je stvorio Eidos Montreal. I kritiča...
Kako pojačati FPS u Linuxu?
FPS je kratica Okviri u sekundi. Zadatak FPS-a je mjerenje broja sličica u reprodukcijama video zapisa ili igranim izvedbama. Jednostavnim riječima, b...
Najpopularnije laboratorijske igre Oculus App
Ako ste vlasnik slušalica Oculus, tada morate biti sigurni u bočno učitavanje. Bočno učitavanje postupak je instaliranja nehranjenog sadržaja na vaše ...