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 arendamineFiliaali $ 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.gitKloonimine „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õikPä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 / arengKui 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:
- https: // git-scm.com / docs / git-branch
- https: // git-scm.com / book / en / v2 / Git-on-the-Server-seadistamine-Serveri seadistamine
- https: // abi.github.com / artiklid / olemasoleva projekti lisamine github-i, kasutades käsurida /
- https: // abi.github.com / artiklid / kaugjuhtimispuldi suunamine /