Så här delar du ditt arbete på ett git remote repository



Dela ditt lokala arbete med teamet på ett fjärrförvar, lär dig också att hantera det medan du spårar ändringarna och håll dig synkroniserad.

Ditt arbete tillför mer värde när det publiceras och delas med världen (eller ditt team) !!!

Komma igång

, som du vet, är det mest populära versioneringsverktyget som används idag till Lagra , Spår och version någon form av data .
Några av de viktigaste funktionerna i git är dess hastighet , distribuerad natur, säkerhet , smärtfri förgrening och sammanslagning tillsammans med samarbete arbeta bland flera bidragsgivare.

Börja vår diskussion härifrån, låt oss fokusera på hur git hjälper dig att samarbeta och dela ditt arbete med kamraterna så att alla kan arbeta på samma kod samtidigt utan att skada varandras data.
Det är här begreppet fjärrförvar komma in i bilden.
Jag antar att du har behärskat konsten att från din arbetskatalog (filsystem) till Iscenesättningsområde och slutligen begå det till din lokalt förvar (databas).

Detta inspirerar oss att driva våra data till nästa nivå 'Remote repo' för att publicera den på ett fjärrförvar.

Lagras inte mina data redan i en git-databas?

Ja det är det! Som anges i diagrammet nedan finns dock dina uppgifter fortfarande på lokal databas efter dig begå och delas inte med dina kollegor än.
4-stegs arkitektur
Den här artikeln fyller klyftan mellan att hämta våra uppgifter från din lokalt förvar och tar det till nästa lager som heter fjärrförvar .





Vad är ett fjärrförvar

En databas med insamlad information lagrad på en plats som kan vara delad med dina lagkamrater genom att ge dem tillgång .
Det är idealiskt värd på en moln eller på en server (lokal eller fjärrkontroll) på internet eller ditt lokala nätverk.
Ett fjärrförvar är precis som ditt lokala gitförvar, förutom att det vanligtvis förklaras som ett tomt förvar så för att inte ha en fungerande kopia som din lokala.
Detta görs för att begränsa de direkta ändringarna på fjärrförvaret.

Bare förvar koncept är en extra fördel för ett fjärrförvar att behålla det skyddade och användas för sitt enda syfte att dela koden mellan lagmedlemmar.
Detta uppnås genom att förklara fjärrförvaret som nakent genom att använda--bara”Flagga vid tidpunkten för initialiseringen som ett git-förvar.
Genom att göra detta skapas din repo med git-metadata eller med andra ord git-objekt som lagras under den dolda '.git' -katalogen ensam och ingen arbetskopia är tillgänglig för någon att direkt lägga till data.
Kommando:git init --bare.

Med detta i åtanke kommer vi att se fler sätt att hantera en fjärranslutning och hur vi synkroniserar vårt lokala arbete med fjärrkontrollen.



Skapa ett fjärrförvar

Först och främst måste du bestämma dig för en plats du vill placera din fjärranslutning på.
Det finns en hel del populära molnbaserade git-värdförvar som - GitLab , Bit hink , GitHub , Ovillkorligen och CloudForge för att nämna några.
I det här inlägget överväger jag GitHub eftersom det här är platsen jag först började behålla mina git-arkiv. Till att börja med är allt du behöver göra att logga in på ett GitHub-konto och sedan skapa ett nytt arkiv , detta skapar en URL som pekar på den här fjärranvisningen.


Git stöder ssh-, git-, http- och https-protokoll för att adressera en webbadress till förvaret.

Alternativt kan du också placera ditt projekt någon annanstans säg a Linux-server följer nedanstående kommandon-
cd $ HEM
mkdir remote_repo
cd remote_repo
git init --bare.

Anslut fjärrkontrollen till din lokala maskin

Att fästa en fjärrkontroll i din arbetskopia betyder helt enkelt att skapa en pekarens referenshanterare för fjärrkontrollen eller helt enkelt kallas en ” fjärrhandlare '.
Låt oss hoppa till mitt projekt som jag vill publicera-cd lär fjärrkontroller
Syntax:git remote add
Kommando:git remote lägg till ursprung https://github.com/divyabhushan/learnRemotes.git

'Ursprung är standard referensnamn för fjärrhanteraren. ” (fjärrnamn måste vara något relevant namn)
Låt oss se om det fungerade med kommandot:git fjärrkontroll

Det gjorde :)

Skriv ut fjärr-URL: n tillsammans med namnet:
git remote -v

Bra gjort! Du är klar med att upprätta en anslutning till ditt fjärrförvar från din lokala arbetskatalog.

Dags att publicera

Syntax:git push - alla - taggar[-u | --set-upstream]
Kommando:git push origin master

Så du läser detta som “Tryck på skillnaden mellan åtaganden och ursprung från lokal mästare” .

Om du kontrollerar ditt GitHub-konto måste dina lokala åtaganden (data) visas där-



Spårningsgrenar

Så du har framgångsrikt publicerat ditt arbete på fjärrförvaret.
Det är dock viktigt att du ställer in din lokala filial till Spår ändringarna på fjärrgrenen automatiskt.
Använd '- set-upstreameller-u”Flagga tillsammans med kommandot” git push ”
Kommando:git push -u origin master

färgkodade grenar


Låt oss vidare skapa ett nytt engagemang för 'master' -grenen och verifiera hur git upptäcker det-
Kommando:git-status


Visa spårningsgrenarna i detaljerat läge
Kommando:git gren -vv


Därför är det skillnad i åtaganden mellan ditt lokala och fjärrförvar på den spårade grenen, så kommer Git att meddela dig.
Är det inte så coolt !!!

Hur skulle andra ansluta till din fjärrkontroll?

Det är en bit tårta när du klona ett fjärrförvar !!!

Så, kloning från ett fjärrförvar gör två saker först, din fjärrreferens läggs till automatiskt och den andra standardinställningen gren är satt till Spår avlägsen gren automatiskt.

Steg 1: Klona din fjärranslutning som en annan användare-
Kommando:git-klon https://github.com/divyabhushan/learnRemotes.git utvecklare2
cd-utvecklare2

Steg 2: Visa fjärrkontrollen och dess webbadress
Kommando:git remote -v


Steg 3: Lista spårningsgrenarna
Kommando:git gren -vv


Det roliga börjar när ”developer2” startar sitt eget arbete och trycker på fjärrkontrollen.

Du kan ansluta och bidra till mer än en fjärrkontroll förvar från en enda projekt .

Se de avlägsna grenarna

Kommando:git gren -r


Använd alternativet ‘-a’ för att skriva ut både lokala och avlägsna filialer, prova det i din lokala repo efter att du har skapat några lokala filialer.

Hur andra bidrar till din fjärrkontroll?

Första installationen
Developer2 bestämmer sig för att ändra ett par saker som:
till. Skapa en ny 'funktion' från det senaste åtagandet om 'master' -grenen och gör en nytt åtagande på 'funktionsgren'
Kommandon:
git checkout -b-funktionen
echo 'funktionsförbättringar'> feature.txt
git add. && git commit -m 'funktionsförbättringar'

b. Skapa en annan 'feature2' -gren från en äldre förpliktelse på 'master' -grenen
Kommandon:
git checkout -b-funktion2 95651fb
echo 'feature2 added'> feature2.txt
git add. && git commit -m 'Lägga till funktion2 ändringar'

Låt oss visualisera filialerna på Developer2-maskinen tillsammans med spårningsinformationen:

Som du måste ha märkt är de nya filialerna inte inställda för att spåra avlägsna grenar.

Tryck på ändringar till fjärrkontrollen
Låt mig först driva ”funktionsgrenen” till fjärrkontrollen med ”–set-upstream eller -u” -flaggan
Kommando:git push -u ursprung funktion




En ny gren skapas på fjärrkontrollen, om den inte redan finns !!!

För närvarande listar du fjärrgrenarna med kommandot: 'git branch -r'




Ett annat sätt att spåra avlägsen gren
Låt oss dessutom ställa in 'feature2' -grenen så att den pekar på samma 'feature' -gren på fjärrkontrollen
Kommando:git branch --set-upstream-to = origin / feature-funktion2



färgkodad gren


Ett snabbt tips: Du kan utelämna det lokala filialnamnet om du redan är på den filialen, med andra ord är den lokala filialen redan utcheckad.

Lista grenarna i det detaljerade läget ännu en gång, kommando:git gren -vv



Lägg märke till att både lokala filialer 'funktion' och 'funktion2' pekar på samma fjärrfilial 'funktion'.

Håller sig synkroniserad med fjärrkontrollen - hämta, dra och tryck

Låt oss överväga den del där avlägsen gren du spårar har redan uppdaterats, vad då?
En enkel 'git-status'Eller en'git kassanEller till och medgit gren -vv”Kommandot varnar oss för en sådan



'Developer2' måste först uppdatera de lokala referenserna och objekten (' git hämta ') Och slå sedan ihop fjärr- och lokala ändringar (' git merge ').
Intressant är att du kan ersätta dessa två kommandon med ett enda 'git pull' -kommando.
Syntax: dra

–För ospårad gren
Syntax: git pull [:]
Kommando:git pull origin-funktion: feature2

–För spårad gren
Syntax: git pull
Kommando:git pull




=> I praktiken kan det uppstå konflikter i detta skede när du drar från fjärrkontrollen för enkelhetens skull.

Efter 'developer2' pull (hämta och slå ihop) måste fjärranslutna senaste ändringar nu publicera sitt eget arbete-
Kommando:git push origin HEAD: -funktion
Obs! Uppströms filialfunktion matchar inte namnet på lokal filialfunktion2, du måste ange det uttryckligen



Påminnelse : 'HEAD' är det senaste engagemanget för den lokala 'feature2' -grenen.

När ska jag använda 'git fetch'?
Ibland behöver du bara uppdatera din referenshuvuden utan att faktiskt ladda ner (dra) från fjärrkontrollen.
Eller när fjärrgrenarna har modifierats / raderats vid uppdatering måste du köra hämtningskommandot med '--beskära”Alternativ.
Som en bästa praxis måste du köra kommandot 'git fetch' varje gång du börjar arbeta med din lokala repo.

Fjärrhantering

Slutligen vill du utföra vissa hushållsuppgifter som att byta namn på eller ta bort fjärrkontroller och grenar.
Dessa är lika viktiga som de tidigare kommandona.

Byt namn på fjärrkontrollen

Syntax:git fjärrnamn
Kommando:git fjärrnamn snv_repo svn
Tänk till exempel på en projektledare som är associerad med tre projekt-


Ta bort fjärrreferens

Antag att du inte längre synkroniserar med ett fjärrförvar, du kommer sannolikt att radera pekarens referens till den.
Detta kommer dock inte att påverka fjärrförvaret och andras arbete.

Syntax:git fjärrkontroll ta bort
Kommando:git fjärrkontroll ta bort proj1


Vad händer om du hade en lokal filial inställd för att spåra en filial från det borttagna ”projekt1” -förvaret?
Tja, din lokal filial (och därmed arbetet) är säker och fortfarande närvarande, bara dess fjärrspårningsreferens och konfiguration inställningarna kommer att vara automatiskt borttagen

Ta bort fjärrgren

Säger du av misstag drev din personlig grovt arbete med en gren till fjärrkontrollen men vill inte att andra ska kontrollera det ännu -
Ta bort filmen 'unfinishedWork' från fjärrkontrollen 'svn'-
Kommando:git gren -vv# Lista fjärrspårningsgrenarna



Syntax:git push - radera
Kommando:git push --radete svn unfinishedWork


jobtracker och tasktracker i hadoop

Avveckling

Med detta kommer vi till ett slut på den här artikeln. Om du hittade detta “ Handledning ' relevant, kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edureka DevOps Certification Training-kursen hjälper eleverna att få expertis inom olika DevOps-processer och verktyg som Puppet, Jenkins, Nagios och GIT för att automatisera flera steg i SDLC.