Na ovaj način dijelite svoj rad na git udaljenom spremištu



Podijelite svoj lokalni rad s timom na udaljenom spremištu, naučite i upravljati njime dok pratite promjene i ostanite sinkronizirani.

Vaš rad dodaje veću vrijednost kada ga objavite i podijelite sa svijetom (ili vašim timom) !!!

Početak rada

Ići , kao što znate, najpopularniji je alat za izradu verzija koji se danas koristi pohraniti , staza i verzija bilo koje vrste podaci .
Neke od ključnih značajki gita su njegove ubrzati , raspodijeljeni priroda, sigurnost , bezbolno grananje i spajanje zajedno s suradnički rad među više suradnika.

Započinjući našu raspravu odavde, usredotočimo se na to kako vam git pomaže surađivati i podijelite svoj rad s vršnjacima tako da svi mogu istodobno raditi na istom kodu bez međusobnog oštećenja podataka.
Ovo je mjesto gdje koncept udaljena spremišta uđite u sliku.
Pretpostavljam da ste ovladali umijećem od tvojeg radni direktorij (datotečni sustav) na Područje uprizorenja i konačno ga predajući vašem lokalno spremište (baza podataka).

To nas nadahnjuje da svoje podatke potisnemo na sljedeću razinu 'Udaljeni repo' da bismo ih objavili na udaljenom spremištu.

Nisu li moji podaci već pohranjeni u git bazi podataka?

Da je! Međutim, kao što je prikazano na donjem dijagramu, vaši su podaci i dalje na lokalna baza podataka poslije tebe počiniti to još nije podijeljeno s kolegama.
4-slojna arhitektura
Ovaj članak popunjava prazninu između preuzimanja naših podataka iz vašeg lokalno spremište i odvodeći ga na sljedeći sloj koji se naziva udaljeno spremište .





Što je udaljeno spremište

Baza podataka prikupljenih podataka pohranjenih na mjestu koje može biti podijeljeni sa svojim suigračima dajući im pristup .
Idealno je domaćin na oblak ili na a poslužitelju (lokalno ili udaljeno) na internetu ili vašoj lokalnoj mreži.
Udaljeno spremište je poput vašeg lokalnog git spremišta, osim što je obično deklarirano kao golo spremište, kako ne bi imalo radnu kopiju poput vaše lokalne.
To je učinjeno kako bi se ograničile izravne promjene izvršene na udaljenom spremištu.

Golo spremište Koncept je dodatna prednost udaljenog spremišta da ga zadrži zaštićen i koristiti će se u jedinu svrhu dijeljenja koda među članovima tima.
To se postiže proglašavanjem udaljenog spremišta golim pomoću '--samo‘Zastava u trenutku inicijalizacije kao git spremište.
Na taj se način vaš repo stvara s git metapodacima ili drugim riječima git objektima pohranjenim samo u skrivenom direktoriju ‘.git’ i nije dostupna radna kopija za bilo koga tko izravno dodaje podatke.
Naredba:git init --bare.

Imajući to na umu, krećući naprijed vidjet ćemo više načina za upravljanje udaljenim repoom i kako sinkronizirati svoj lokalni rad s daljinskim.



Stvorite udaljeno spremište

Prvo i najvažnije, morate odlučiti o mjestu na koje želite smjestiti udaljeni repo.
Postoji poprilično popularno spremište git hostinga temeljeno na oblaku, poput - GitLab , BitBucket , GitHub , Silom i CloudForge da spomenemo samo neke.
U ovom postu razmatram GitHub jer sam na ovom mjestu počeo voditi svoja git spremišta. Za početak, sve što morate učiniti je prijaviti se na GitHub račun, a zatim stvoriti novo spremište , ovo stvara URL koji upućuje na ovaj udaljeni repo.


Git podržava ssh, git, http i https protokole za adresiranje URL-a spremišta.

Alternativno, svoj projekt možete smjestiti i drugdje, recite a Linux poslužitelj slijedeći naredbe u nastavku-
cd $ HOME
mkdir remote_repo
cd remote_repo
git init --bare.

Priključite daljinski upravljač na lokalni uređaj

Priključivanje daljinskog upravljača na vašu radnu kopiju jednostavno znači stvoriti rukovatelj referencama pokazivača za daljinski upravljač ili jednostavno nazvan ' daljinski upravljač '.
Prijeđimo na moj projekt koji želim objaviti-cd learnRemotes
Sintaksa:git daljinski dodati
Naredba:git daljinsko dodavanje podrijetla https://github.com/divyabhushan/learnRemotes.git

'Podrijetlo je zadano naziv reference za udaljeni rukovatelj. ' (udaljeno ime mora biti neko relevantno ime)
Pogledajmo je li to uspjelo, koristeći naredbu:git daljinski

Jeste :)

Ispišite i udaljeni URL zajedno s imenom:
git daljinski -v

Dobro napravljeno! Sve je spremno za uspostavljanje veze s udaljenim spremištem iz vašeg lokalnog radnog imenika.

Vrijeme je za objavljivanje

Sintaksa:git push --all --tagovi[-u | - set-upstream]
Naredba:git push master izvor

Dakle, ovo čitate kao 'Gurni razl. Obveza na izvor od lokalnog gospodara' .

Ako provjerite svoj GitHub račun, tamo moraju biti prikazani vaši lokalni predaji (podaci)



Praćenje grana

Dakle, uspješno ste objavili svoj rad na udaljenom spremištu.
Međutim, važno je da lokalnu podružnicu postavite na staza promjene na udaljenoj grani automatski.
Koristiti '- set-upstreamili-u‘Zastava zajedno s naredbom‘ git push ’
Naredba:git push -u master podrijetla

grane kodirane bojom


Idemo dalje stvoriti novi predaj na ‘master’ grani i provjeriti kako ga git otkriva-
Naredba:git status


Prikažite grane praćenja u opširnom načinu
Naredba:git grana -vv


Stoga svaki put postoji razlika u predavanjima između vašeg lokalnog i udaljenog spremišta na praćenoj grani, Git će vas obavijestiti.
Zar to nije cool !!!

Kako bi se drugi povezali s vašim daljinskim upravljačem?

To je komad torte kad vi klon udaljeno spremište !!!

Dakle, kloniranje iz udaljenog spremišta čini dvije stvari prvo, vaše daljinska referenca automatski se dodaje, a drugi zadani podružnica postavljeno je na staza udaljena grana automatski.

Korak 1: Klonirajte svoj udaljeni repo kao drugi korisnik-
Naredba:git klon https://github.com/divyabhushan/learnRemotes.git programer2
cd programer2

Korak 2: Pokažite daljinski upravljač i njegov url
Naredba:git daljinski -v


Korak 3: Navedite grane praćenja
Naredba:git grana -vv


Zabava započinje kad će 'programer2' započeti vlastiti posao i gurnuti ga na daljinski upravljač.

Možete se povezati i doprinijeti više od jednog daljinskog upravljača spremište iz a pojedinačni projekt .

Pogledajte udaljene grane

Naredba:git grana -r


Koristite opciju ‘-a’ za ispis lokalnih i udaljenih grana, isprobajte u lokalnom repo-u nakon stvaranja nekoliko lokalnih grana.

Kako drugi doprinose vašem daljinskom upravljaču?

Početno postavljanje
Developer2 odluči promijeniti nekoliko stvari kao što su:
do. Stvoriti novu 'značajku' iz zadnjeg urezivanja na grani 'master' i napravite a novi počiniti na grani ‘značajka’
Naredbe:
git checkout -b značajka
echo 'poboljšanja značajki'> feature.txt
git dodaj. && git commit -m 'poboljšanja značajki'

b. Stvoriti druga grana ‘feature2’ od starijeg urezivanja na grani ‘master’
Naredbe:
git checkout -b feature2 95651fb
echo 'feature2 added'> feature2.txt
git dodaj. && git commit -m 'Dodavanje promjena značajke2'

Vizualizirajmo grane na stroju developer2 zajedno s podacima o praćenju:

Kao što ste sigurno primijetili, nove grane nisu postavljene za praćenje udaljenih grana.

Guranje promjena na daljinsko
Prvo mi dopusti da gurnem granu 'značajka' na daljinski sa zastavicom '-set-upstream ili -u'
Naredba:git push -u značajka podrijetla




Na daljinskom upravljaču će se stvoriti nova grana, ako već ne postoji !!!

U ovom trenutku navedite udaljene grane naredbom: ‘git branch -r’




Drugi način praćenja udaljene grane
Nadalje, postavimo granu ‘feature2’ tako da pokazuje na istu granu ‘feature’ na daljinskom upravljaču
Naredba:git grana --set-upstream-to = izvor / značajka feature2



grana kodirana bojom


Kratki savjet: Možete izostaviti naziv lokalne podružnice ako ste već na toj podružnici, drugim riječima, lokalna podružnica već je odjavljena.

Ponovno navedite grane u opsežnom načinu, naredite:git grana -vv



Obavijest, obje lokalne grane 'značajka' i 'značajka2' upućuju na istu 'značajku' udaljene grane.

Ostanite sinkronizirani s daljinskim upravljačem - dohvatite, povucite i gurnite

Razmotrimo dio u kojem se udaljena grana što pratite već je ažurirano, što onda?
Jednostavan 'git status'Ili'git naplata'Ili čak'git grana -vv'Naredba nas upozorava s takvom neusklađenošću-



'Developer2' prvo mora ažurirati lokalne reference i objekte (' git fetch ‘), A zatim spojite udaljene i lokalne promjene (‘ git merge ’).
Zanimljivo je da ove dvije naredbe možete zamijeniti jednom naredbom 'git pull'.
Sintaksa:ići Vuci

–Za nepraćenu granu
Sintaksa: git pull [:]
Naredba:git pull značajka podrijetla: feature2

–Za gusjenu granu
Sintaksa: git pull
Naredba:git pull




=> U praksi se u ovoj fazi mogu pojaviti sukobi kada povučete s daljinskog upravljača radi jednostavnosti. Generirao sam promjenu urezivanja bez sukoba.

Nakon povlačenja (dohvaćanja i spajanja) „developer2“ daljnje najnovije promjene sada moraju objaviti vlastito djelo -
Naredba:git push origin HEAD: značajka
Napomena: 'značajka' uzvodne grane ne podudara se s nazivom lokalne značajke 'značajka2', morate je izričito navesti



Podsjetnik : 'HEAD' je najnoviji predaj na lokalnoj grani 'feature2'.

kako napraviti testiranje baze podataka

Kada koristiti 'git fetch'?
U trenucima kada imate potrebu samo ažurirati svoj referentne glave bez stvarnog preuzimanja (povlačenja) s daljinskog upravljača.
Ili kada su udaljene grane promijenjene / obrisane nakon ažuriranja, morat ćete pokrenuti naredbu dohvaćanja s '--obrezati‘Opcija.
Kao najbolju praksu, morate pokrenuti naredbu 'git fetch' svaki put kad započnete raditi na lokalnom repo-u.

Daljinsko upravljanje

Napokon, htjeli biste obaviti neke kućanske poslove, poput preimenovanja ili uklanjanja daljinskih upravljača i grana.
To su jednako važne kao i prethodne naredbe.

Preimenuj daljinski

Sintaksa:git daljinsko preimenovanje
Naredba:git daljinsko preimenovanje snv_repo svn
Na primjer, razmislite o voditelju projekata povezanom s 3 projekta-


Izbriši daljinsku referencu

Pretpostavimo da se više nećete sinkronizirati s udaljenim spremištem, vjerojatno ćete izbrisati referencu pokazivača na njega.
Međutim, to neće utjecati na udaljeno spremište i tuđi rad.

Sintaksa:git daljinsko uklanjanje
Naredba:git daljinsko uklanjanje proj1


Što ako ste postavili lokalnu granu za praćenje grane iz uklonjenog spremišta ‘proj1’?
Pa, tvoj lokalna podružnica (a samim tim i rad) je sef i još uvijek prisutan, samo njegov daljinsko praćenje reference i konfiguracija postavke će biti automatski uklonjeno

Izbriši udaljenu granu

Ti kažeš slučajno gurnuo svoj osobni grubi rad na a grana na daljinski ali ne žele da ga drugi još provjeravaju -
Uklonite granu ‘nedovršeni rad’ s daljinskog upravljača ‘svn’-
Naredba:git grana -vv# Navedite grane za daljinsko praćenje



Sintaksa:git push --brisati
Naredba:git push - izbriši svn nedovršeni rad


Završiti

Ovim smo došli do kraja ovog članka. Ako ste pronašli ovo Vodič ”Relevantno, provjerite Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edureka DevOps certifikacijski tečaj pomaže učenicima da steknu stručnost u različitim DevOps procesima i alatima kao što su Puppet, Jenkins, Nagios i GIT za automatizaciju više koraka u SDLC-u.