Git

„Git Show“ nuotoliniai filialai

„Git Show“ nuotoliniai filialai
Gito galimybė lengvai sukurti šakas yra puiki savybė. Tačiau sprendžiant vietinius ir nuotolinius filialus, tai gali šiek tiek komplikuotis. Sukursime situaciją, kai mes sukursime savo „Git“ saugyklą, kuri elgsis kaip nuotolinė repo. Tada mes sukursime ir priskirsime filialus savo nuotolinei saugyklai iš project_source. Po to ketiname klonuoti nuotolinę saugyklą ir žaisti su filialais. Pratimas taip pat turėtų suteikti jums idėją, kaip veikia nuotolinės saugyklos, tokios kaip „GitHub“ ir „BitBucket“. Galite ją vizualizuoti taip:

Pradėkime nuo „Git“ saugyklos. Sukursime aplanką, pavadintą projektas.git ir inicializuokite, kad taptumėte nuotoline saugykla:

$ mkdir projektas.git
$ cd projektas.git /
$ git init - plikas
Inicijuota tuščia „Git“ saugykla aplanke / Vartotojai / zakh_eecs / _work / LearnGIT / git_remote_repository /
projektą.git /

Dabar eikite į naują vietą, kur galite sukurti švarų aplanką. Sukurkite aplanką project_source ir inicializuokite jį „Git“:

$ mkdir project_source
 
$ cd project_source
 
$ git init
Inicijuota tuščia „Git“ saugykla aplanke / Vartotojai / zakh_eecs / _work / LearnGIT / git_branching_source /
project_source /.git /
 
$ palieskite „ReadMe“.txt
 
$ git pridėti -A
 
$ git įsipareigoti -m "Pradinis įsipareigojimas"
[meistras (šaknis-įsipareigoti) 176134f] Pradinis įsipareigojimas
Pakeistas 1 failas, 0 įterpimų (+), 0 pašalinimų (-)
sukurti režimą 100644 „ReadMe“.txt

„Project_setup“ yra „Git“ katalogas su „ReadMe“.txt failas. Tačiau jis nėra prijungtas prie mūsų nuotolinės saugyklos. Sukurkime projektą.„git“ yra nuotolinė „project_source“ saugykla. Tai galime pasiekti naudodami šią komandą:

$ git nuotolinis pridėti kilmę / Vartotojai / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
 
$ git push kilmės meistras
Objektų skaičiavimas: 3, atlikta.
Rašyti objektus: 100% (3/3), 213 baitai | 0 baitų / s, atlikta.
Iš viso 3 (0 delta), pakartotinai panaudota 0 (0 delta)
Kam / Vartotojai / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [naujas filialas] meistras -> meistras

Su komanda „git remote add origin“ sukūrėme ryšį tarp projekto.git ir project_source. Naudodami „git push origin master“ komandą, mes nustumėme savo pagrindinę šaką į nuotolinę saugyklą.

Patikrinkime savo filialus (vis dar aplanke project_source):

$ git filialas
* meistras
 
$ git filialas -r
kilmė / meistras
 
$ git filialas -a
* meistras
pulteliai / kilmė / meistras

Pirmoji komanda rodo tik vietinį filialą. Parinktis -r rodo nuotolinę atšaką. O -a parinktis rodo ir vietinį, ir nuotolinį.

Sukurkime keletą filialų savo darbo kataloge:

$ git filialo plėtra
 
$ git filialo karštosios pataisos
 
$ git filialas eksperimentinis
 
$ git filialas -a
plėtrą
eksperimentinis
karštųjų pataisų
* meistras
pulteliai / kilmė / meistras

Mes sukūrėme filialus, vadinamus kūrimo, karštųjų pataisų ir eksperimentiniais. Jie rodomi mūsų vietinių filialų sąraše. Bet pulteliuose / kilmėje yra tik pagrindinė šaka, nes tai vienintelė, kurią mes stumėme. Žvaigždžių (*) meistras reiškia, kad mes vis dar esame vietiniame pagrindiniame filiale. Eikime į kūrimo šaką, atlikite pakeitimus ir perkelkite tuos pakeitimus į nuotolinę saugyklą.

$ git kasos plėtra
Perėjo prie filialo „plėtros“
 
$ echo abc> Skaityti.txt
 
$ git pridėti -A
 
$ git įsipareigoti -m "Modifikuotas kūrimo padalinys"
[development dd9933e] Modifikuota plėtros šaka
1 failas pakeistas, 1 įterpimas (+)
 
$ git push kilmės plėtra
Objektų skaičiavimas: 3, atlikta.
Rašyti objektus: 100% (3/3), 257 baitai | 0 baitų / s, atlikta.
Iš viso 3 (0 delta), pakartotinai panaudota 0 (0 delta)
Kam / Vartotojai / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
* [naujos šakos] plėtra -> plėtra

Patikrinkime visas šakas dabar:

$ git filialas -a
* plėtra
eksperimentinis
karštųjų pataisų
meistras
pulteliai / kilmė / plėtra
pulteliai / kilmė / meistras

Matome, kad esame vietos plėtros skyriuje, tačiau yra ir nuotolinio vystymosi skyrius. Kai pastūmėjome savo pokyčius plėtodami „git push“ raidą, tai sukūrė nuotolinio valdymo / kilmės raidos šaką.

Dabar išeikime iš project_source ir rasime naują vietą, kur galėsime turėti naują aplanką. Čia mes klonuosime nuotolinę saugyklą naudodami šią komandą:

$ git clone / Vartotojai / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git
Klonavimas į „projektą“ ..
padaryta.

Klonavome naują kopiją, vadinamą project from project.git. Patekite į projekto aplanką ir patikrinkite šakas:

$ cd projektas
 
$ git filialas
* meistras

Kai „Git“ sukuria pradinį kloną iš nuotolinės saugyklos, jis gauna tik pagrindinį filialą. Jei naudojame -a parinktį, matome:

$ git filialas -a
* meistras
pulteliai / kilmė / GALVA -> kilmė / valdytojas
pulteliai / kilmė / plėtra
pulteliai / kilmė / meistras

Atkreipkite dėmesį, kad nėra vietos plėtros filialo. Be to, niekada nepatempėme karštųjų pataisų ir eksperimentinių šakų iš project_source į projektą.git, todėl mes jų nematome. Nuotolinėje saugykloje yra pagrindiniai ir vystymo skyriai (nuotolinio valdymo pultai / pradžia / GALVA -> Kilmė / magistras nėra filialas, jis tiesiog nurodo, kur nukreipta GALVA).

Pažvelkime į savo darbo aplinką plėtros šaką:

$ git fetch - visi
Gaunama kilmė
 
$ git kasos plėtra
Filialų plėtra sukurta siekiant stebėti nuotolinį filialų vystymąsi nuo jų kilmės.
Perėjo prie naujos šakos „plėtros“

Jei naudojate senesnę „Git“ versiją, gali tekti naudoti:

$ git kasos kūrimo pradžia / plėtra

Dabar, jei naudosime filialo komandą, gausime:

$ git filialas -a
* plėtra
meistras
pulteliai / kilmė / GALVA -> kilmė / valdytojas
pulteliai / kilmė / plėtra
pulteliai / kilmė / meistras

Mes galime pakeisti kūrimo šaką, atlikti pakeitimus ir tada jį stumti naudodami komandą „git push origin“.

Apibendrinant

Kai dirbate su „GitHub“ ir „BitBucket“, galite naudoti HTTPS arba SSH nuorodą, kad prisijungtumėte prie savo nuotolinės saugyklos. Taigi jūs nustatysite savo kilmę tose nuorodose. Bet nuotolinio atšakos principai yra tokie patys, kaip aprašyta čia.

Tolesnis tyrimas:

Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...
„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...
Kaip naudoti „AutoKey“, norint automatizuoti „Linux“ žaidimus
„AutoKey“ yra darbalaukio automatizavimo įrankis, skirtas „Linux“ ir „X11“, užprogramuotas „Python 3“, „GTK“ ir „Qt“. Naudodami scenarijų ir „MACRO“ f...