En introduksjon til Git: hva det er, og hvordan du bruker det

Git er et open source distribuert versjonskontrollsystem . Nå er det mange ord å definere Git.

La meg bryte det ned og forklare ordlyden:

  • Kontrollsystem: Dette betyr i utgangspunktet at Git er en innholdssporer. Så Git kan brukes til å lagre innhold - det brukes mest til å lagre kode på grunn av de andre funksjonene den gir.
  • Versjonskontrollsystem : Koden som er lagret i Git endres stadig etter hvert som mer kode blir lagt til. Også mange utviklere kan legge til kode parallelt. Så versjonskontrollsystem hjelper til med å håndtere dette ved å opprettholde en historie om hvilke endringer som har skjedd. Også Git tilbyr funksjoner som filialer og sammenslåinger, som jeg vil dekke senere.
  • Distribuert versjonskontrollsystem : Git har et eksternt lager som er lagret på en server og et lokalt lager som er lagret på datamaskinen til hver utvikler. Dette betyr at koden ikke bare er lagret på en sentral server, men hele kopien av koden er tilstede på alle utviklerens datamaskiner. Git er et distribuert versjonskontrollsystem siden koden er tilstede i hver utviklers datamaskin. Jeg vil forklare begrepet eksterne og lokale arkiver senere i denne artikkelen.

Hvorfor et versjonskontrollsystem som Git er nødvendig

Virkelige prosjekter har vanligvis flere utviklere som jobber parallelt. Så et versjonskontrollsystem som Git er nødvendig for å sikre at det ikke er noen kodekonflikter mellom utviklerne.

I tillegg endres kravene i slike prosjekter ofte. Så et versjonskontrollsystem lar utviklere gå tilbake og gå tilbake til en eldre versjon av koden.

Til slutt involverer noen ganger flere prosjekter som kjøres parallelt den samme kodebasen. I et slikt tilfelle er begrepet forgrening i Git veldig viktig.

La oss komme i gang med å bruke Git nå

I stedet for å nevne alle konseptene samtidig, vil jeg forklare begrepene Git gjennom et eksempel slik at det er lettere å følge.

Last ned git

Denne lenken har detaljer om hvordan du installerer Git i flere operativsystemer:

//git-scm.com/book/en/v2/Getting-Started-Installing-Git

Bekreft om Git er installert ved å bruke følgende kommando i ledeteksten:

git --version

Lag ditt lokale Git-depot

Opprett en mappe på datamaskinen din for prosjektet. La oss ringe prosjektmappen simple-git-demo.

Gå inn i prosjektmappen din og legg til et lokalt Git-arkiv i prosjektet ved hjelp av følgende kommandoer:

cd simple-git-demo git init

Den git initkommandoen legger til en lokal Git repository til prosjektet.

La oss legge til litt liten kode nå

Opprett en fil som heter demo.txtprosjektmappen og legg til følgende tekst i den:

Initial Content

Her vil vi demonstrere med bare ren tekst i stedet for faktisk kode, siden hovedfokuset i denne artikkelen er på Git og ikke på noe spesifikt programmeringsspråk.

Staging og begå koden

Forpliktelse er prosessen der koden blir lagt til i det lokale depotet . Før du begår koden, må den være i iscenesettelsesområdet . Staging-området er der for å holde oversikt over alle filene som skal forpliktes.

Enhver fil som ikke legges til iscenesettelsesområdet, blir ikke forpliktet. Dette gir utvikleren kontroll over hvilke filer som må forpliktes.

Iscenesettelse

Bruk følgende kommando for å iscenesette filen:

git add demo.txt

Hvis du vil legge til flere filer, kan du bruke:

git add file1 file2 file3

Hvis du vil legge til alle filene i prosjektmappen til oppstillingsområdet, bruker du følgende kommando:

git add .

Bruk dette forsiktig, siden det legger til alle filene og mappene i prosjektet ditt til iscenesettingsområdet.

Forplikte

Bruk følgende kommando for å forplikte filen:

git commit -m "Initial Commit"

“Initial Commit” er meldingsmeldingen her. Skriv inn en relevant meldingsmelding for å indikere hvilke kodeendringer som ble gjort i den aktuelle forpliktelsen.

Git Status og Git Log

Endre nå demo.txtfil og legg til følgende kodebit:

Initial Content Adding more Content

Status

Bruk for git statuså finne ut informasjon om hvilke filer som er endret og hvilke filer som er der i iscenesettelsesområdet - det viser også annen informasjon, som vi kan ignorere for nå.

Bruk følgende kommando for å se statusen:

git status

Statusen viser at det demo.txter endret og ikke er i mellomtiden.

La oss nå legge demo.txttil stagingområdet og begå det ved hjelp av følgende kommandoer:

git add demo.txt git commit -m "demo.txt file is modified"

Logg

Bruk git logtil å skrive ut alle forpliktelser som er gjort hittil.

Kommandoen som brukes til dette er:

git log

Loggen viser forfatteren av hvert forpliktelse, datoen for forpliktelsen og forpliktelsesmeldingen.

Grener

Inntil nå har vi ikke opprettet noen filial i Git. Som standard Git inger gå inn i hovedgren.

Hva er en gren?

En gren er bare en pekepinn til den siste forpliktelsen i Git-arkivet. Så for tiden er hovedgrenen vår en pekepinn til den andre forpliktelsen “demo.txt file is modified”.

Hvorfor er det nødvendig med flere grener?

Flere grener er nødvendig for å støtte flere parallelle utviklinger. Se bildet nedenfor for å se hvordan grener fungerer.

I utgangspunktet ble forpliktelse 1 og forpliktelse 2 gjort i hovedgrenen. Etter forpliktelse 2 opprettes en ny gren kalt “Test”, og forpliktelse 3 og forpliktelse 4 legges til i testgrenen.

Samtidig legges en annen forpliktelse 3 og forpliktelse 4 til hovedgrenen. Her kan vi se at etter Commit 2 gjøres to parallelle utviklinger i 2 separate grener.

Testgrenen og hovedgrenen har avviket her og har annen kode - koden fra testgrenen kan slås sammen med hovedgrenen ved hjelp av git merge. Dette vil bli dekket senere.

Opprett en ny gren i Local

Opprett en ny gren kalt test ved hjelp av følgende kommando:

git branch test

Denne kommandoen oppretter testgrenen.

Vi er fortsatt i sammenheng med mestergrenen. For å bytte til test grenen. bruk følgende kommando:

git checkout test

Nå er vi i testgrenen.

Du kan liste ut alle grenene lokalt ved hjelp av følgende kommando:

git branch

Gjør noen forpliktelser i den nye grenen

Endre demo.txtved å legge til følgende kodebit:

Initial Content Adding more Content Adding some Content from test Branch

Nå iscenesett og forplikt deg med følgende kommandoer:

git add demo.txt git commit -m "Test Branch Commit"

Denne forpliktelsen ble gjort i testgrenen, og nå er testgrenen foran hovedforgreningen med 1 forpliktelse - da testgrenen også inkluderer de to forpliktelsene fra hovedgrenen.

Du kan bekrefte forpliktelseshistorikken i Test Branch ved å bruke:

git log

Sammenslåing

Foreløpig er testgrenen foran mesteren med en forpliktelse. La oss si at vi nå vil at all koden i testgrenen skal bringes tilbake til hovedgrenen. Dette er hvor det git mergeer veldig nyttig.

Følg disse trinnene for å slå sammen koden fra testgrenen til hovedgrenen:

Gå først tilbake til mastergrenen:

git checkout master

Kjør deretter mergekommandoen:

git merge test

Etter å ha kjørt disse to kommandoene, bør sammenslåingen være vellykket. I dette eksemplet er det ingen konflikter.

Men i virkelige prosjekter vil det være konflikter når en sammenslåing gjøres. Å løse konflikten er noe som kommer med erfaring, så når du jobber mer med Git, vil du kunne få taket på å løse konflikter.

Løpe git lognå og du vil legge merke til at mesteren også har 3 forpliktelser.

Remote Git Repository

Til nå har vi bare jobbet i det lokale depotet. Hver utvikler vil jobbe i sitt lokale depot, men til slutt vil de skyve koden inn i et eksternt depot. Når koden er i det eksterne depotet, kan andre utviklere se og endre den koden.

GitHub

Her skal vi bruke GitHub for det eksterne depotet.

Gå til //github.com/ og opprett en konto.

Etter at du har registrert deg på GitHub-hjemmesiden, klikker du på Start et prosjekt for å opprette et nytt Git-arkiv. Gi depotet et navn og klikk "Create Repository"

Gi navnet som git-blog-demo.

Dette vil opprette et eksternt depot i GitHub, og når du åpner depotet, åpnes en side som bildet nedenfor:

Depot-URL er den uthevede delen //github.com/aditya-sridhar/git-blog-demo.git

For å peke det lokale depotet til det eksterne depotet, bruk følgende kommando:

git remote add origin [repository url]

Git Push

For å skyve all koden fra det lokale depotet til det eksterne depotet, bruk følgende kommando:

git push -u origin master

Dette skyver koden fra hovedgrenen i det lokale arkivet til hovedgrenen i det eksterne arkivet.

Tilleggskommandoer

Git Pull

git pullbrukes til å trekke de siste endringene fra det eksterne depotet til det lokale depotet. Fjernregisterkoden oppdateres kontinuerlig av forskjellige utviklere, og git pull er derfor nødvendig:

git pull origin master

Git Clone

git clonebrukes til å klone et eksisterende eksternt lager på datamaskinen din. Kommandoen for dette er:

git clone [repository url]

Gratulerer

Nå vet du det grunnleggende om hvordan du bruker Git, så fortsett og utforsk mer!

Jeg vil snart publisere en artikkel til om litt mer avanserte konsepter i Git. Følg med!

Om forfatteren

Jeg elsker teknologi og følger utviklingen innen teknologi. Jeg liker også å hjelpe andre med all kunnskap jeg har i teknologirommet.

Ta gjerne kontakt med meg på LinkdIn-kontoen min //www.linkedin.com/in/aditya1811/

Du kan også følge meg på twitter //twitter.com/adityasridhar18

Mitt nettsted: //adityasridhar.com/

Andre innlegg av meg

Hvordan bruke Git effektivt