Tako delite svoje delo na oddaljenem repozitoriju git



Delite svoje lokalno delo z ekipo na oddaljenem repozitoriju, naučite se ga tudi upravljati, medtem ko sledite spremembam in ostanite sinhronizirani.

Vaše delo doda večjo vrednost, ko ga objavite in delite s svetom (ali svojo ekipo) !!!

Kako začeti

Pojdi , kot veste, je danes najbolj priljubljeno orodje za različice trgovina , skladbo in različico kakršno koli podatkov .
Nekatere ključne značilnosti gita so njegove hitrost , razdeljeno narava, varnost , neboleče razvejanje in združevanje skupaj z sodelovalni delo med več sodelujočimi.

Začenši našo razpravo od tu, se osredotočimo na to, kako vam git pomaga sodelujejo in delite svoje delo z vrstniki, tako da lahko vsi hkrati delajo na isti kodi, ne da bi pri tem poškodovali podatke drugih.
Tu je koncept oddaljeni repozitoriji pridi v sliko.
Predvidevam, da ste obvladali umetnost od vašega delovni imenik (datotečni sistem) v Uprizoritveno območje in ga končno predali svojemu lokalno skladišče (baza podatkov).

To nas navdihuje, da svoje podatke potisnemo na naslednjo stopnjo »Remote repo«, da jih objavimo v oddaljenem repozitoriju.

Ali niso moji podatki že shranjeni v zbirki podatkov git?

Ja, je! Kot je prikazano na spodnjem diagramu, so vaši podatki še vedno na lokalna baza podatkov za tabo zavezati in ga še niste delili s svojimi kolegi.
4-stopenjska arhitektura
Ta članek zapolnjuje vrzel med zbiranjem naših podatkov iz vašega lokalno skladišče in ga premaknili v naslednjo plast, imenovano oddaljeno repozitorij .





Kaj je oddaljeno skladišče

Baza podatkov zbranih informacij, shranjenih na lokaciji, ki je lahko v skupni rabi s svojimi soigralci tako, da jim jih daste dostop .
Idealno gostuje na oblak ali na strežnik (lokalno ali oddaljeno) v internetu ali lokalnem omrežju.
Oddaljeno repozitorij je tako kot vaš lokalni git repozitorij, le da je praviloma razglašen kot golo repozitorij, da ne bi imel delovne kopije, kot je vaša lokalna.
To se naredi za omejitev neposrednih sprememb, izvedenih na oddaljenem repozitoriju.

Golo odlagališče Koncept je dodatna prednost oddaljenega repozitorija, da ga obdrži zaščiten in se uporablja izključno za delitev kode med člani ekipe.
To dosežemo z razglasitvijo oddaljenega repozitorija kot golega z uporabo- samo'Zastava v času inicializacije kot git repozitorij.
S tem se vaše poročilo ustvari z metapodatki git ali z drugimi besedami git predmeti, shranjenimi samo v skritem imeniku '.git', in nobena delovna kopija ni na voljo nikomur, ki bi neposredno dodajal podatke.
Ukaz:git init --bare.

S tem v mislih bomo v nadaljevanju videli več načinov upravljanja oddaljenega repoja in kako sinhroniziramo lokalno delo z daljinskim upravljalnikom.



Ustvarite oddaljeno skladišče

V prvi vrsti se morate odločiti za lokacijo, na katero želite postaviti oddaljeni repo.
Obstaja kar nekaj priljubljenih repozitorijev git hosting v oblaku, kot so - GitLab , BitBucket , GitHub , Izvedite in CloudForge poimenovati jih nekaj.
V tej objavi razmišljam o GitHubu, saj sem tam prvič začel voditi svoja git skladišča. Za začetek se morate le prijaviti v račun GitHub in nato ustvarite novo skladišče , to ustvari URL, ki kaže na ta oddaljeni repo.


Git podpira ssh, git, http in https protokole za naslavljanje URL-ja repozitorija.

Lahko pa svoj projekt postavite tudi drugam, recimo a Linux strežnik po spodnjih ukazih-
cd $ HOME
mkdir remote_repo
cd remote_repo
git init --bare.

Daljinski upravljalnik pritrdite na lokalno napravo

Pritrditev daljinskega upravljalnika na delovno kopijo preprosto pomeni ustvariti kazalnik referenčnega kazalca za daljinski upravljalnik ali preprosto imenovan daljinski upravljalnik '.
Pojdimo na moj projekt, ki ga želim objaviti -cd learnRemotes
Sintaksa:git remote add
Ukaz:git remote add origin https://github.com/divyabhushan/learnRemotes.git

»Izvor ali je privzeto referenčno ime za oddaljeni upravljalec. ' (oddaljeno ime mora biti ustrezno ime)
Poglejmo, ali je to delovalo z ukazom:git daljinski upravljalnik

Res je :)

Natisnite tudi oddaljeni URL skupaj z imenom:
git remote -v

Dobro opravljeno! Vse je pripravljeno za vzpostavitev povezave z oddaljenim skladiščem iz vašega lokalnega delovnega imenika.

Čas za objavo

Sintaksa:git push --all --tags[-u | - set-upstream]
Ukaz:git push master

Torej, to berete kot 'Potisni razliko zavez za izvor od lokalnega glavnega upravitelja' .

Če preverite svoj račun GitHub, morajo biti tam prikazani vaši lokalni prevzemi (podatki) -



Sledenje vejam

Torej, uspešno ste objavili svoje delo na oddaljenem repozitoriju.
Vendar je pomembno, da lokalno podružnico nastavite na skladbo spremembe na oddaljeni veji samodejno.
Uporabi '- set-upstreamali-u'Flag skupaj z ukazom' git push '
Ukaz:git push -u izvorni mojster

barvno kodirane veje


Ustvarimo še novo objavo na veji 'master' in preverimo, kako jo git zazna-
Ukaz:git status


Prikažite veje sledenja v podrobnem načinu
Ukaz:git podružnica -vv


Zato vsakič pride do razlike v zavezah med lokalnim in oddaljenim skladiščem na sledljivi veji, Git vas bo obvestil.
Ali ni to kul !!!

Kako bi se drugi povezali z vašim daljinskim upravljalnikom?

To je kos torte, ko si klon oddaljeno skladišče !!!

Kloniranje iz oddaljenega repozitorija torej najprej naredi 2 stvari, vaš oddaljena referenca se doda samodejno in druga privzeta podružnica je nastavljeno na skladbo oddaljena veja samodejno.

Korak 1: Klonirajte oddaljeni repo kot drug uporabnik -
Ukaz:klon git https://github.com/divyabhushan/learnRemotes.git razvijalec2
cd razvijalec2

2. korak: Pokažite daljinski upravljalnik in njegov url
Ukaz:git remote -v


3. korak: Navedite veje za sledenje
Ukaz:git podružnica -vv


Zabava se začne, ko bo 'razvijalec2' začel svoje delo in potisnil na daljinski upravljalnik.

Lahko se povežete in prispevate več kot en daljinski upravljalnik repozitorij iz a en projekt .

Oglejte si oddaljene veje

Ukaz:git podružnica -r


Z možnostjo ‘-a’ natisnite lokalne in oddaljene veje, poskusite v lokalnem repoju, potem ko ustvarite nekaj lokalnih vej.

Kako drugi prispevajo k vašemu daljinskemu upravljalniku?

Začetna nastavitev
Razvijalec2 se je odločil spremeniti nekaj stvari, kot so:
do. Ustvari novo 'funkcijo' iz zadnjega prevzema v veji 'master' in naredite a nova zaveza na podružnici ‘Feature’
Ukazi:
git checkout -b funkcija
echo 'izboljšave funkcij'> feature.txt
git add. && git commit -m 'izboljšave funkcij'

b. Ustvari druga veja ‘feature2’ kot starejša odobritev na veji ‘master’
Ukazi:
git checkout -b feature2 95651fb
echo 'feature2 added'> feature2.txt
git add. && git commit -m 'Dodajanje sprememb2'

Vizualiziramo veje na stroju developer2 skupaj z informacijami o sledenju:

Kot ste že opazili, nove veje niso nastavljene za sledenje oddaljenim vejam.

Potiskanje sprememb na daljinsko
Najprej naj potisnem vejo ‘feature’ na daljinsko z zastavico ‘-set-upstream ali -u’
Ukaz:git push -u izvorna funkcija




Na veji bo ustvarjena nova veja, če ta že ne obstaja !!!

V tem trenutku seznam oddaljenih vej navedite z ukazom: 'git branch -r'




Drug način sledenja oddaljeni veji
Poleg tega nastavimo tudi vejo ‘feature2’, da kaže na isto vejo ‘feature’ na daljinskem upravljalniku
Ukaz:git podružnica --set-upstream-to = origin / feature feature2



barvno kodirana veja


Kratek namig: Ime lokalne podružnice lahko izpustite, če ste že v tej podružnici, z drugimi besedami, lokalna podružnica je že odjavljena.

Še enkrat navedite veje v podrobnem načinu, ukaz:git podružnica -vv

koda serije fibonacci v javi



Upoštevajte, da obe lokalni podružnici ‘feature’ in ‘feature2’ kažeta na isto oddaljeno vejo ‘feature’.

Ostanite sinhronizirani z daljinskim upravljalnikom - prinesite, povlecite in potisnite

Poglejmo del, kjer je oddaljena veja sledite že posodobljeno, kaj potem?
Preprostgit status'Ali'git checkout'Ali celo'git podružnica -vv'Ukaz nas opozori na takšno neskladje -



„Razvijalec2“ mora najprej posodobiti lokalne reference in predmete („ git fetch ‘) In nato združite oddaljene in lokalne spremembe (‘ git merge ’).
Zanimivo je, da lahko ta dva ukaza nadomestite z enim ukazom 'git pull'.
Sintaksa:pojdi potegnite

–Za neizsledeno vejo
Sintaksa: git pull [:]
Ukaz:funkcija git pull origin: feature2

–Za sledeno vejo
Sintaksa: git pull
Ukaz:git pull




=> V praksi lahko na tej stopnji pride do konfliktov, ko preprosto potegnete z daljinskega upravljalnika. Ustvaril sem spremembo zaveze brez konfliktov.

Po izvleku (razvijalcu in združitvi) razvijalca2 morajo najnovejše spremembe na daljavi zdaj objaviti lastno delo -
Ukaz:git push origin HEAD: funkcija
Opomba: 'značilnost' podružnice navzgor se ne ujema z imenom lokalne 'podružnice' feature2, to morate izrecno navesti



Opomnik : 'HEAD' je zadnji prevzem v lokalni veji 'feature2'.

Kdaj uporabiti 'git fetch'?
V trenutkih, ko morate samo posodobiti svoj referenčne glave brez dejanskega nalaganja (vlečenja) z daljinskega upravljalnika.
Ali ko bodo oddaljene veje spremenjene / izbrisane ob posodobitvi, boste morali zagnati ukaz za prenos z- sliva'Možnost.
Kot najboljšo prakso morate zagnati ukaz 'git fetch' vsakič, ko začnete delati na svojem lokalnem skladišču.

Oddaljeno upravljanje

Na koncu bi želeli opraviti še nekaj gospodinjskih opravil, kot je preimenovanje ali odstranjevanje daljinskih upravljalnikov in vej.
Ti so enako pomembni kot prejšnji ukazi.

Preimenuj daljinski upravljalnik

Sintaksa:git oddaljeno preimenovanje
Ukaz:git oddaljeno preimenovanje snv_repo svn
Na primer, razmislite o vodji projekta, ki je povezan s 3 projekti-


Izbriši oddaljeni sklic

Recimo, da se ne boste več sinhronizirali z oddaljenim skladiščem, boste verjetno izbrisali sklic nanj.
Vendar to ne bo vplivalo na oddaljeno skladišče in na delo drugih.

Sintaksa:git daljinsko odstranjevanje
Ukaz:git daljinsko odstranjevanje proj1

sas vaja za programiranje za začetnike


Kaj če bi imeli lokalno vejo nastavljeno za sledenje veji iz odstranjenega repozitorija 'proj1'?
No, tvoj krajevna podružnica (in s tem delo) je varno in še vedno prisoten, samo svoj referenca oddaljenega sledenja in konfiguracijo nastavitve bodo samodejno odstranjeno

Izbriši oddaljeno vejo

Recimo ti po naključju potisnil svoj osebno grobo delo na a veja do daljinskega upravljalnika vendar ne želijo, da ga drugi še preverijo -
Odstranite vejo ‘unfinishedWork’ z oddaljenega ‘svn’-
Ukaz:git podružnica -vv# Navedite veje oddaljenega sledenja



Sintaksa:git push --delete
Ukaz:git push --delete svn unfinishedWork


Zapiranje

S tem smo prišli do konca tega članka. Če ste našli to Vadnica 'Ustrezne, preverite Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Tečaj Edureka DevOps Certification Training pomaga učencem pridobiti znanje o različnih procesih DevOps in orodjih, kot so Lutka, Jenkins, Nagios in GIT za avtomatizacijo več korakov v SDLC.