Taip jūs dalijatės savo darbu nuotolinėje „git“ saugykloje



Pasidalykite savo vietiniu darbu su komanda nuotolinėje saugykloje, taip pat išmokite jį valdyti stebėdami pokyčius ir palaikykite sinchronizaciją.

Jūsų darbas prideda daugiau vertės, kai jis paskelbiamas ir dalijamasi su pasauliu (ar savo komanda) !!!

Darbo pradžia

Eik , kaip žinote, yra populiariausias versijų įrankis, naudojamas šiandien parduotuvė , takelis ir versija bet kokios rūšies duomenis .
Kai kurios pagrindinės „git“ savybės yra jos greičiu , platinamas gamta, saugumas , neskausmingas išsišakojimas ir susijungimas kartu su bendradarbiaujantis darbas tarp kelių prisidedančių asmenų.

Pradėdami diskusijas nuo šiol, sutelkime dėmesį į tai, kaip git jums padeda bendradarbiauti ir dalinkitės savo darbu su bendraamžiais, kad visi galėtų vienu metu dirbti su tuo pačiu kodu, nesugadindami vienas kito duomenų.
Čia yra sąvoka nuotolinės saugyklos ateik į paveikslą.
Manau, kad jūs įvaldėte meną iš jūsų darbo katalogas (failų sistema) į Sustojimo vieta ir pagaliau tai padarysi savo vietinė saugykla (duomenų bazė).

Tai įkvepia mus perkelti savo duomenis į kitą „Nuotolinio atpirkimo“ lygį, kad galėtume juos paskelbti nuotolinėje saugykloje.

Ar mano duomenys jau nėra saugomi „git“ duomenų bazėje?

Taip tai yra! Tačiau, kaip nurodyta toliau pateiktoje diagramoje, jūsų duomenys vis dar yra vietinė duomenų bazė po jūsų įsipareigoti ir dar nepasidalino su kolegomis.
4 pakopų architektūra
Šis straipsnis užpildo spragą tarp mūsų duomenų rinkimo iš jūsų vietinė saugykla ir perkeliant jį į kitą sluoksnį, vadinamą nuotolinė saugykla .





valdymo srauto teiginiai java

Kas yra nuotolinė saugykla

Surinktos informacijos, saugomos toje vietoje, kuri gali būti, duomenų bazė pasidalino su komandos draugais, suteikdamas jiems prieiga .
Idealiu atveju jis yra a debesis arba ant a serverio (vietinis ar nuotolinis) internete ar jūsų vietiniame tinkle.
Nuotolinė talpykla yra tokia pati kaip jūsų vietinė „git“ saugykla, išskyrus tai, kad ji paprastai deklaruojama kaip plika talpykla, kad nebūtų darbo kopijos, tokios kaip jūsų vietinė.
Tai daroma siekiant apriboti tiesioginius nuotolinės saugyklos pakeitimus.

Plika kapinynas koncepcija yra papildomas pranašumas nuotolinei saugyklai ją išlaikyti saugomi ir būti naudojamas vieninteliam tikslui - dalytis kodu tarp komandos narių.
Tai pasiekiama paskelbiant nuotolinę saugyklą plika naudojant „- teisingai‘Vėliava inicijuojant ją kaip„ git “saugyklą.
Tokiu būdu jūsų repo sukuriamas naudojant „git“ metaduomenis arba, kitaip tariant, „git“ objektus, saugomus vien paslėptame „.git“ kataloge, ir jokia darbinė kopija nėra prieinama, kad bet kas galėtų tiesiogiai pridėti duomenų.
Komanda:git init - plika.

Atsižvelgdami į tai, eidami į priekį, pamatysime daugiau būdų, kaip valdyti nuotolinį atpirkimą, ir kaip sinchronizuoti vietinį darbą su nuotolinio valdymo pultu.



Sukurkite nuotolinę saugyklą

Visų pirma, turite nuspręsti vietą, į kurią norite įdėti nuotolinį atpirkimą.
Yra nemažai populiarių debesų pagrindu veikiančių „git“ talpinimo talpyklų, tokių kaip - „GitLab“ , „BitBucket“ , „GitHub“ , Priverstinis ir „CloudForge“ Išvardyti kelis.
Šiame pranešime svarstau „GitHub“, nes tai vieta, kur aš pirmą kartą pradėjau laikyti savo „git“ saugyklas. Norėdami pradėti, tereikia prisijungti prie „GitHub“ paskyros ir tada sukurti naują saugyklą , tai sukuria URL, nukreipiantį į šį nuotolinį atpirkimą.


„Git“ palaiko ssh, git, http ir https protokolus, kad būtų nukreiptas į saugyklos URL.

Arba taip pat galite pastatyti savo projektą kitur, tarkim, a „Linux“ serveris vykdydami toliau nurodytas komandas
cd $ NAMAI
mkdir remote_repo
CD nuotolinis reprezentavimas
git init - plika.

Pritvirtinkite nuotolinio valdymo pultą prie vietinio aparato

Nuotolinio valdymo pulto prijungimas prie darbinės kopijos reiškia tiesiog sukurti rodyklės nuorodos tvarkytuvas nuotolinio valdymo pultui arba tiesiog vadinamas „ nuotolinis vedlys '.
Pereikime prie mano projekto, kurį noriu paskelbti -cd learnRemotes
Sintaksė:git nuotolinis pridėjimas
Komanda:„git“ nuotolinis pridėkite kilmę https://github.com/divyabhushan/learnRemotes.git

„Kilmė yra numatytas nuotolinio tvarkytojo nuorodos pavadinimas. “ (nuotolinis vardas turi būti atitinkamas vardas)
Pažiūrėkime, ar tai pavyko, naudodami komandą:git nuotolinis

Tai padarė :)

Atspausdinkite nuotolinį URL kartu su pavadinimu:
git nuotolinis -v

Šauniai padirbėta! Jūs esate pasiruošę užmegzti ryšį su savo nuotolinio saugykla iš savo vietinio darbo katalogo.

Laikas paskelbti

Sintaksė:„git push“ - visi - žymos[-u | - nustatyti aukštyn
Komanda:git push kilmės meistras

Taigi, jūs skaitote tai kaip „Stumti vietos meistrų įsipareigojimų kilmę skirtumą“ .

Jei patikrinsite savo „GitHub“ paskyrą, ten turi būti rodomi jūsų vietiniai įsipareigojimai (duomenys).



Stebėti filialus

Taigi, jūs sėkmingai paskelbėte savo darbą nuotolinėje saugykloje.
Tačiau svarbu, kad jūs įsteigtumėte savo vietinį skyrių takelis nuotolinio filialo pakeitimai automatiškai.
Naudoti '- nustatyti aukštynarba-u„Vėliava kartu su komanda„ git push “
Komanda:git push -u kilmės meistras

spalvomis pažymėtos šakos


Sukurkime naują įsipareigojimą „pagrindiniame“ filiale ir patikrinkime, kaip „git“ jį nustato
Komanda:git statusas


Rodyti sekimo šakas kalbiniu režimu
Komanda:git filialas -vv


Taigi kiekvieną kartą stebint filialą jūsų vietinė ir nuotolinė saugykla skiriasi skirtumais, „Git“ jus informuos.
Ar ne taip šaunu !!!

Kaip kiti prisijungtų prie jūsų nuotolinio valdymo pulto?

Tai torto gabalas, kai tu klonas nuotolinė saugykla !!!

Taigi, klonavimas iš nuotolinės saugyklos pirmiausia atlieka 2 dalykus, jūsų nuotolinė nuoroda pridedamas automatiškai, o antrasis numatytasis atšaka yra nustatytas takelis nutolęs filialas automatiškai.

1 žingsnis: Klonuokite nuotolinį atpirkimą kaip kitą naudotoją
Komanda:„git“ klonas https://github.com/divyabhushan/learnRemotes.git developer2
CD kūrėjas2

2 žingsnis: Rodyti nuotolinio valdymo pultą ir jo URL
Komanda:git nuotolinis -v


3 žingsnis: Išvardykite stebėjimo šakas
Komanda:git filialas -vv


Linksmybės prasideda, kai „kūrėjas2“ pradės savo darbą ir stums į nuotolinio valdymo pultą.

Galite prisijungti ir prisidėti daugiau nei vienas pultelis saugykla iš a vienas projektas .

Peržiūrėkite nuotolinius filialus

Komanda:gito šaka -r


Naudokite parinktį „-a“, jei norite atsispausdinti tiek vietinius, tiek nuotolinius filialus, išbandykite tai savo vietiniame repo skyriuje sukūrę keletą vietinių filialų.

Kaip kiti prisideda prie jūsų nuotolinio valdymo pulto?

Pradiniai nustatymai
„Developer2“ nusprendžia pakeisti keletą dalykų, pavyzdžiui:
į. Kurti nauja „funkcija“ iš naujausio įsipareigojimo „master“ šakoje ir padaryti a naujas įsipareigojimas ant „ypatybės“ šakos
Komandos:
git checkout -b funkcija
echo 'feature enhancements'> feature.txt
git pridėti. && git įsipareigoti -m „funkcijų patobulinimai“

b. Kurti skirtinga „feature2“ šaka, nei senesnė, įsipareigoja „master“ šakoje
Komandos:
git checkout -b feature2 95651fb
echo 'feature2 added'> feature2.txt
git pridėti. && git įsipareigoti -m „2 funkcijos pakeitimas“

Vizualizuokime „developer2“ mašinos šakas kartu su stebėjimo informacija:

Kaip jau pastebėjote, nauji filialai nėra įrengti nuotolinėms šakoms sekti.

Pakeitimų perdavimas į nuotolinį
Pirmiausia leiskite man nustumti „feature“ šaką į nuotolinį su „–set-upstream“ arba -u “vėliava
Komanda:„git push -u“ kilmės funkcija




Nuotolinio pulte bus sukurtas naujas filialas, jei jo dar nėra !!!

Šiuo metu išvardykite nuotolinius filialus su komanda: „git branch -r“

sesijos valdymas Java interneto programoje




Kitas būdas stebėti nuotolinį filialą
Be to, nustatykime „feature2“ šaką taip pat, kad ji nurodytų tą pačią „feature“ šaką nuotolinio valdymo pulte
Komanda:git branch - set-upstream-to = origin / feature feature2



spalva pažymėta šaka


Trumpas patarimas: Galite praleisti vietinio filialo pavadinimą, jei jau esate tame filiale, kitaip tariant, vietinis filialas jau yra išsiregistravęs.

Dar kartą išvardykite filialus išsamiu režimu, komanda:git filialas -vv



Atkreipkite dėmesį, kad abu vietiniai filialai „feature“ ir „feature2“ nurodo tą patį nuotolinio filialo „bruožą“.

Būkite sinchronizuoti su nuotolinio valdymo pultu - pareikškite, traukite ir stumkite

Panagrinėkime dalį, kurioje nutolęs filialas jūsų stebėjimas jau buvo atnaujintas, o kas tada?
Paprastas 'git statusasArba „git kasa„Ar net“git filialas -vv„Komanda įspėja mus tokiu neatitikimu-



„Developer2“ pirmiausia turi atnaujinti vietines nuorodas ir objektus („ git atnešti ‘) Ir tada sujunkite nuotolinius ir vietinius pakeitimus (‘ git sulieti ’).
Įdomu tai, kad šias dvi komandas galite pakeisti viena komanda „git pull“.
Sintaksė:eik traukti

–Vikšrai šakai
Sintaksė: git pull [:]
Komanda:„git pull“ kilmės ypatybė: feature2

–Vikšrai šakai
Sintaksė: git pull
Komanda:git traukti




=> Praktikoje šiame etape gali kilti konfliktų, kai paprasčiau pasitelkus nuotolinio valdymo pultą, aš sukūriau konfliktų be pakeitimų.

Po „developer2“ ištraukimo (atnešti ir sujungti) nuotoliniai naujausi pakeitimai dabar turi paskelbti jo paties
Komanda:git push kilmės GALVA: funkcija
Pastaba: „upstream“ filialas „feature“ neatitinka vietinio filialo „feature2“ pavadinimo, jį turite pateikti aiškiai



Priminimas : „HEAD“ yra naujausias įsipareigojimas vietiniame „feature2“ filiale.

Kada naudoti „git fetch“?
Kartais, kai reikia tiesiog atnaujinti savo atskaitos galvutės iš tikrųjų neatsisiunčiant (netraukiant) iš nuotolinio valdymo pulto.
Arba kai nuotoliniai filialai buvo modifikuoti / ištrinti atnaujinus, turėsite paleisti komandą „fetch“ su „- slyva‘Variantas.
Kaip geriausią praktiką, turite paleisti komandą „git fetch“ kiekvieną kartą, kai pradėsite dirbti su vietine atpirkimo komanda.

Nuotolinis valdymas

Galiausiai norėtumėte atlikti keletą namų tvarkymo užduočių, pavyzdžiui, pervadinti ar pašalinti nuotolinio valdymo pultus ir šakas.
Tai taip pat svarbu, kaip ir ankstesnės komandos.

Pervardyti nuotolinį

Sintaksė:git nuotolinis pervadinimas
Komanda:git nuotoliniu būdu pervardykite snv_repo svn
Pavyzdžiui, apsvarstykite projekto vadovą, susietą su 3 projektais -


Ištrinti nuotolinę nuorodą

Tarkime, kad nebesinchronizuojate su nuotoline saugykla, greičiausiai ištrinsite rodyklės nuorodą į ją.
Tačiau tai neturės įtakos nuotolinei saugyklai ir kitų darbams.

Sintaksė:git nuotoliniu būdu pašalinkite
Komanda:nuotoliniu būdu pašalinkite proj1


Ką daryti, jei vietinis filialas būtų nustatytas sekti šaką iš pašalintos „proj1“ saugyklos?
Na, tavo vietos filialas (taigi ir darbas) yra saugus ir vis dar yra, tik jos nuotolinio stebėjimo nuoroda ir konfigūracija nustatymai bus automatiškai pašalintas

Ištrinti nuotolinį filialą

Pasakyk tu netyčia pastūmėjo tavo Asmeninis šiurkštus darbas a atšaka į nuotolinį bet dar nenoriu, kad kiti tai patikrintų -
Pašalinkite „unfinishedWork“ šaką iš nuotolinio „svn“ -
Komanda:git filialas -vv# Išvardykite nuotolinio stebėjimo šakas

sukūręs „hadoop“ ant „ubuntu“



Sintaksė:git push - ištrinti
Komanda:„git push“ - ištrinti svn nebaigtą darbą


Likvidavimas

Tuo mes baigėme šį straipsnį. Jei radote tai Pamoka ' Aktualus, patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. „Edureka DevOps“ sertifikavimo mokymo kursas padeda besimokantiesiems įgyti įvairių „DevOps“ procesų ir įrankių, tokių kaip „Lėlė“, „Jenkins“, „Nagios“ ir „GIT“, kelių automatizuotų SDLC žingsnių, patirties.