Git

Git Show Remote Branches

Git Show Remote Branches
Gitova sposobnost enostavnega ustvarjanja vej je odlična lastnost. Pri poslovanju z lokalnimi in oddaljenimi vejami pa se lahko nekoliko zaplete. Ustvarimo situacijo, ko bomo ustvarili lastno skladišče Git, ki se bo obnašalo kot oddaljeni repo. Nato bomo ustvarili in predali veje v naš oddaljeni repozitorij iz project_source. Po tem bomo klonirali oddaljeno skladišče in se poigrali z vejami. Vaja vam mora tudi predstaviti, kako delujejo oddaljeni repozitoriji, kot sta GitHub in BitBucket. Lahko si ga predstavite na naslednji način:

Začnimo s skladiščem Git. Ustvarili bomo mapo, imenovano projekt.git in ga inicializirajte, da postane oddaljeno skladišče:

$ mkdir projekt.git
$ cd projekt.git /
$ git init --bare
Inicializirano prazno repozitorij Git v / Users / zakh_eecs / _work / LearnGIT / git_remote_repository /
projekt.git /

Zdaj pojdite na novo mesto, kjer lahko ustvarite čisto mapo. Ustvarite mapo project_source in jo inicializirajte za Git:

$ mkdir project_source
 
$ cd project_source
 
$ git init
Inicializirano prazno repozitorij Git v / Users / zakh_eecs / _work / LearnGIT / git_branching_source /
projekt_izvir /.git /
 
$ touch ReadMe.txt
 
$ git add -A
 
$ git commit -m "Začetni prevzem"
[master (root-commit) 176134f] Začetna odobritev
1 datoteka spremenjena, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 ReadMe.txt

Project_setup je Gitov imenik z ReadMe.txt datoteko. Vendar ni povezan z našim oddaljenim skladiščem. Postavimo projekt.git, da je oddaljeno repozitorij za project_source. To lahko dosežemo z naslednjim ukazom:

$ git remote add origin / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
 
$ git push izvorni mojster
Štetje predmetov: 3, končano.
Pisanje predmetov: 100% (3/3), 213 bajtov | 0 bajtov / s, končano.
Skupaj 3 (delta 0), ponovno uporabljena 0 (delta 0)
V / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [nova veja] master -> master

Z ukazom git remote add origin smo ustvarili povezavo med projektom.git in project_source. Z glavnim ukazom git push origin smo svojo glavno vejo potisnili v oddaljeno repozitorij.

Preverimo naše veje (še vedno v mapi project_source):

$ git podružnica
* mojster
 
$ git podružnica -r
izvor / mojster
 
$ git podružnica -a
* mojster
oddaljeni / izvor / glavni

Prvi ukaz prikazuje samo lokalno vejo. Možnost -r prikazuje oddaljeno vejo. Možnost -a prikazuje tako lokalne kot oddaljene.

Ustvarimo nekaj vej v našem delovnem imeniku:

razvoj $ git podružnice
 
Popravek podružnice $ git
 
$ git podružnica eksperimentalna
 
$ git podružnica -a
razvoj
eksperimentalno
hitri popravek
* mojster
oddaljeni / izvor / glavni

Ustvarili smo veje, imenovane razvoj, hitri popravek in eksperimentalno. Prikazani so na našem seznamu lokalnih podružnic. Toda v daljinskem upravljalniku / izvoru je samo glavna veja, ker je to edina potisnjena. Star (*) mojster pomeni, da smo še vedno v lokalni glavni veji. Pojdimo v razvojno vejo, izvedimo spremembe in te spremembe potisnemo v oddaljeno repozitorij.

Razvoj $ git checkout
Preusmerjen na "razvoj"
 
$ echo abc> ReadMe.txt
 
$ git add -A
 
$ git commit -m "Spremenjena razvojna veja"
[razvoj dd9933e] Spremenjena razvojna veja
1 datoteka spremenjena, 1 vstavitev (+)
 
$ git push razvoj izvora
Štetje predmetov: 3, končano.
Pisanje predmetov: 100% (3/3), 257 bajtov | 0 bajtov / s, končano.
Skupaj 3 (delta 0), ponovno uporabljena 0 (delta 0)
V / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [nova veja] razvoj -> razvoj

Preverimo zdaj vse podružnice:

$ git podružnica -a
* razvoj
eksperimentalno
hitri popravek
mojster
daljinski upravljalci / izvor / razvoj
oddaljeni / izvor / glavni

Vidimo, da smo v lokalni razvojni veji, obstaja pa tudi oddaljena razvojna veja. Ko smo spremembe potisnili z razvojem git push origin, je ustvaril razvojno vejo v oddaljenih / izvornih.

Pojdimo ven iz projekta_source in poiščimo sveže mesto, kjer bomo lahko dobili novo mapo. Tukaj bomo klonirali oddaljeno repozitorij z naslednjim ukazom:

$ git clone / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
Kloniranje v 'projekt' ..
Končano.

Klonirali smo novo kopijo, imenovano projekt iz projekta.git. Pojdite v mapo projekta in preverite veje:

$ cd projekt
 
$ git podružnica
* mojster

Ko Git naredi začetni klon iz oddaljenega repozitorija, dobi samo glavno vejo. Če uporabimo možnost -a, vidimo:

$ git podružnica -a
* mojster
daljinski upravljalci / izvor / HEAD -> izvor / glavni
daljinski upravljalci / izvor / razvoj
oddaljeni / izvor / glavni

Upoštevajte, da lokalna razvojna veja ne obstaja. Prav tako nikoli nismo prestavljali hitrih popravkov in poskusnih vej od project_source do projekta.git, zato jih ne vidimo. Oddaljeno repozitorij ima glavno in razvojno vejo (oddaljeni / izvor / HEAD -> origin / master ni veja, samo pove, kam kaže HEAD).

Prinesimo razvojno vejo v naše delovno okolje:

$ git fetch --all
Pridobivanje izvora
 
Razvoj $ git checkout
Razvoj podružnic, nastavljen za sledenje razvoju oddaljenih podružnic od izvora.
Preusmerjen na novo vejo 'razvoj'

Če uporabljate starejšo različico Gita, boste morda morali uporabiti:

$ git checkout razvojni izvor / razvoj

Zdaj, če uporabimo ukaz podružnice, dobimo:

$ git podružnica -a
* razvoj
mojster
daljinski upravljalci / izvor / HEAD -> izvor / glavni
daljinski upravljalci / izvor / razvoj
oddaljeni / izvor / glavni

V razvojno vejo lahko spremenimo, spremembe uredimo in nato potisnemo z ukazom za razvoj git push origin.

V zaključku

Pri delu z GitHubom in BitBucketom lahko uporabite povezavo HTTPS ali SSH za povezavo z oddaljenim skladiščem. Torej boste nastavili izvor teh povezav. Toda načela oddaljene veje so enaka, kot so opisana tukaj.

Nadaljni študij:

Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...
Najboljše igre ukazne vrstice za Linux
Ukazna vrstica ni le vaš največji zaveznik pri uporabi Linuxa - lahko je tudi vir zabave, saj jo lahko uporabljate za igranje številnih zabavnih iger,...
Najboljše aplikacije za preslikavo gamepadov za Linux
Če želite igre na Linuxu igrati z igralno ploščico namesto s tipičnim sistemom za vnos tipkovnice in miške, je za vas na voljo nekaj uporabnih aplikac...