Git

Git Näita kaugharusid

Git Näita kaugharusid
Suurepärane omadus on Giti võime harusid hõlpsalt luua. Kohalike ja kaugemate harudega tegeledes võib see siiski veidi keerulisemaks muutuda. Paneme paika olukorra, kus me loome oma Giti hoidla, mis käitub nagu kaugrepo. Seejärel loome ja paneme harud kaughoidlasse projekti_allikas alt. Pärast seda kloonime kaughoidla ja mängime harudega. Harjutus peaks andma ka aimu, kuidas kaughoidlad nagu GitHub ja BitBucket töötavad. Saate seda visualiseerida järgmiselt:

Alustame Giti hoidlast. Loome kausta nimega projekt.git ja lähtestage see kaughoidlaks saamiseks:

$ mkdir projekt.git
$ cd projekt.git /
$ git init - paljas
Initsialiseeritud tühi Giti hoidla kataloogis / Kasutajad / zakh_eecs / _work / LearnGIT / git_remote_repository /
projekti.git /

Nüüd minge uude asukohta, kus saate luua puhta kausta. Looge kaust project_source ja vormindage see Giti jaoks:

$ mkdir projekti_allikas
 
$ cd projekti_allikas
 
$ git init
Initsialiseeritud tühi Giti hoidla kataloogis / Kasutajad / zakh_eecs / _work / LearnGIT / git_branching_source /
projekti_allikas /.git /
 
$ puudutage ReadMe.txt
 
$ git lisa -A
 
$ git pühendama -m "Esialgne kohustus"
[master (root-toime) 176134f] Esmane toiming
1 fail muudetud, 0 sisestust (+), 0 kustutust (-)
loomisrežiim 100644 ReadMe.txt

Projekt_häälestus on Git-kataloog koos ReadMe-ga.txt-fail. Kuid see pole ühendatud meie kaughoidlaga. Paneme projekti paika.git olema projekti_allika kaughoidla. Selle saavutame järgmise käsuga:

$ git remote add origin / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
 
$ git push päritolumeister
Objektide loendamine: 3, valmis.
Objektide kirjutamine: 100% (3/3), 213 baiti | 0 baiti / s, valmis.
Kokku 3 (delta 0), taaskasutatud 0 (delta 0)
To / Kasutajad / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [uus haru] meister -> meister

Käsuga git remote add origin oleme loonud ühenduse projekti vahel.git ja projekti_allikas. Git push originaali põhikäsuga oleme oma põhiharu kaughoidlasse lükanud.

Kontrollime oma harusid (endiselt kaustas project_source):

$ git haru
* meister
 
$ git haru -r
päritolu / meister
 
$ git filiaal -a
* meister
kaugjuhtimispuldid / päritolu / kapten

Esimene käsk näitab ainult kohalikku haru. Valik -r näitab kaugharu. Ja -a variant näitab nii kohalikku kui ka kaugemat.

Loome mõned harud oma töökataloogi:

filiaali $ git arendamine
 
Filiaali $ git käigultparandus
 
$ git haru eksperimentaalne
 
$ git filiaal -a
arengut
eksperimentaalne
kiirparandus
* meister
kaugjuhtimispuldid / päritolu / kapten

Oleme loonud harud, mida nimetatakse arenduseks, kiirparandusteks ja eksperimentaalseks. Nad kuvatakse meie kohaliku harukontori nimekirjas. Kuid pultides / päritolus on ainult põhiharu, sest see on ainus, mille me surusime. Täht (*) meister tähendab, et me oleme endiselt kohalikus põhiharus. Läheme arendusharusse, teeme muudatused ja lükake need muudatused kaughoidlasse.

kassas $ git arendamine
Üleminek haru arengule
 
$ echo abc> ReadMe.txt
 
$ git lisa -A
 
$ git sitout -m "Muudetud arenduse haru"
[areng dd9933e] Muudetud arendusharu
1 fail muudetud, 1 sisestus (+)
 
$ git push päritolu arendamine
Objektide loendamine: 3, valmis.
Objektide kirjutamine: 100% (3/3), 257 baiti | 0 baiti / s, valmis.
Kokku 3 (delta 0), taaskasutatud 0 (delta 0)
To / Kasutajad / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [uus haru] arendus -> arendus

Kontrollime nüüd kõiki harusid:

$ git filiaal -a
* areng
eksperimentaalne
kiirparandus
meister
kaugjuhtimispuldid / päritolu / areng
kaugjuhtimispuldid / päritolu / kapten

Näeme, et oleme kohaliku arengu harus, kuid on ka kaugarendusharu. Kui lükkasime oma muudatused git push-alguse arendamisega, lõi see arenguharu kaugjuhtimispuldides / päritolus.

Läheme nüüd projektist_allikas välja ja leiame uue koha, kus meil on uus kaust. Kloonime kaughoidla järgmise käsuga:

$ git kloon / Kasutajad / zakh_eecs / _work / LearnGIT / git_remote_repository / projekt.git
Kloonimine „projekti“ ..
tehtud.

Oleme klooninud uue koopia nimega projekt projektist.git. Minge projekti kausta ja kontrollige harusid:

$ cd projekt
 
$ git haru
* meister

Kui Git teeb kaughoidlast esialgse klooni, saab see ainult põhiharu. Kui kasutame valikut -a, näeme:

$ git filiaal -a
* meister
kaugjuhtimispuldid / päritolu / HEAD -> päritolu / master
kaugjuhtimispuldid / päritolu / areng
kaugjuhtimispuldid / päritolu / kapten

Pange tähele, et kohaliku arengu haru puudub. Samuti ei lükanud me kunagi kiirparandusi ja eksperimentaalharusid projektist_allikas projekti.git, nii et me ei näe neid. Kaughoidlas on põhi- ja arendusharud (kaugjuhtimispuldid / päritolu / HEAD -> päritolu / master pole haru, see lihtsalt ütleb teile, kuhu HEAD näitab.

Toome arenguharu oma töökeskkonda:

$ git fetch - kõik
Päritolu toomine
 
kassas $ git arendamine
Filiaali arendamine on loodud filiaali kaugema arengu jälgimiseks päritolust alates.
Üleminek uuele haru 'arendusele'

Kui kasutate Giti vanemat versiooni, peate võib-olla kasutama järgmist:

$ git checkout arenduse päritolu / areng

Kui kasutame käsku haru, saame:

$ git filiaal -a
* areng
meister
kaugjuhtimispuldid / päritolu / HEAD -> päritolu / master
kaugjuhtimispuldid / päritolu / areng
kaugjuhtimispuldid / päritolu / kapten

Saame arenguharus muudatusi teha, muudatused siduda ja seejärel kasutada, kasutades git push originaali arendamise käsku.

Kokkuvõtteks

Kui töötate GitHubi ja BitBucketiga, võite kaughoidlaga ühenduse loomiseks kasutada HTTPS- või SSH-linki. Nii et määrate nende linkide päritolu. Kuid kaugharu põhimõtted on samad, mida siin kirjeldatud.

Edasine uuring:

Tasuta ja avatud lähtekoodiga mängumootorid Linuxi mängude arendamiseks
See artikkel hõlmab loetelu tasuta ja avatud lähtekoodiga mängumootoritest, mida saab kasutada 2D- ja 3D-mängude arendamiseks Linuxis. Selliseid mängu...
Tomb Raider for Linuxi õpetus
Shadow of the Tomb Raider on kaheteistkümnes täiendus seeria Tomb Raider - tegevus- ja seiklusmängude frantsiisile, mille on loonud Eidos Montreal. Ni...
Kuidas FPS-i suurendada Linuxis?
FPS tähistab Kaadrit sekundis. FPS-i ülesanne on mõõta kaadrisagedust video taasesitamisel või mängude esitamisel. Lihtsamalt öeldes nimetatakse iga s...