Bruker commits i Git

Innholdsfortegnelse
Endringene i Git De er ikke det samme som i andre administrasjons- og versjonskontrollsystemer, siden ved å lagre bare det som virkelig har endret seg, reduserer det størrelsen på filene som genereres for kontroll og gir det også større smidighet.
Aspektet som styrer alt dette er indeks hvem har ansvaret for å vite hvem, hva og når av alle endringene som er gjort, det er derfor etter å ha lagt de forskjellige aspektene til vår indeks av gren samtalen blir foretatt begå.
Hva er en forpliktelse?I Git Vi vet at for å legge til en endring må vi gjøre en begå av det samme når det har blitt lagt til depotindeksen. Hva er imidlertid en begå nøyaktig? Dette spørsmålet blir ikke alltid stilt til oss selv siden vi Git håndterer dette er ganske klart, men a begå er måten det Git registrerer gjeldende tilstand for depotindeksen og lagrer den i det tilsvarende objektet, på denne måten hver begå den er avledet fra den forrige og dermed kan strukturen som ikke gjennomgår endringer gjenbrukes.
Ressursforvaltningen som gjør dette så raskt, skyldes sammenligninger på tvers SHA1 Derfor, hvis elementene i indeksen har samme hash, fortsetter de ikke å fordype seg i endringene siden de er identiske, og dermed blir bare filene som virkelig endret tatt.
Måten som forplikter seg lar oss etablere hierarkiske strukturer som gir sikkerhet for å få opprinnelsen til alle registrerte endringer, så hvis vi følger de beste fremgangsmåtene for Git Vi vil aldri gå tapt, takket være de unike identifikatorene kan vi også være sikre på at hvis noen funksjonalitet har skapt et problem, kan den bli funnet på det nøyaktige stedet der den ble inkludert.
Vi kommenterte hvordan forplikter seg ha en hasj i SHA1 som de kan identifiseres med, viser det seg at denne hashen også gjør dem unike og ikke kan gjentas, det vil si hvis vi har en begå og i et annet depot finnes den samme hashen, slik at vi kan vite at den er den samme begå.
På grunn av dette begå blir også vurdert atomisk, det vil si som en enkelt enhet uavhengig som lagrer tilstanden til mange kataloger eller filer, med dette kan vi referere til begå som en enhet i vårt depot og dermed kunne behandle hver enkelt som et element som, selv om det er relatert til det forrige, er unikt.
Selv om hasj SHA1 fungerer som en unik identifikator for begå, dens struktur av 40 alfanumeriske tegn kan representere et problem når vi vil kommunisere med en annen utvikler og forklare det begå Vi snakker.
Relative navnFor å løse dette problemet kan vi etablere relative navn og lettere å huske for forplikter segDisse erstatter ikke hashen, men de fungerer snarere som en slags etikett som lar oss identifisere dem på en mer menneskelig måte.
For å snakke om det siste begå av gren kan vi ganske enkelt referere til HODE, siden dette alltid vil referere til det siste og det siste begåSiden vi ikke alltid kommer til å kreve dette, er det imidlertid nok at vi bruker de første tegnene i hash, selv om det ikke alltid vil være unikt, så ved å legge til flere tegn vil vi oppnå den tilsvarende særegenheten.
La oss se kommandoen som vi må bruke for å oppnå sistnevnte:
git -logg -1 --pretty = online -identifiseringsforpliktelse

Nå vil vi se i det følgende bildet hvordan vi identifiserer a begå i vårt testlager, for dette skal vi først finne ut hvilken som er SHA1 av HODE og så skal vi kalle det med de første tegnene, la oss se:

Med det forrige eksemplet har vi oppdaget et verktøy for Git som kan være veldig nyttig og er log kommando, dette er veldig kraftig siden det lar oss finne de forskjellige begå på en rask og presis måte, men den har mange parametere og konfigurasjoner som kan være vanskelig å huske i første omgang, men for å bruke den trenger vi ikke å lære dem alle, vi kan gå litt etter litt mens vi blir vant til den bruk.
Hvis vi vil se forpliktelseshistorikken, gjør du bare følgende:
git logg grennavn

Med dette vil vi få tak i detaljert historieinformasjon av vår gren og deres forplikter segLa oss se hvordan det ser ut i konsollen vår i lageret av tester som vi har:

Vi legger da merke til hvordan forplikter seg er organisert fra de siste til de eldste, lar dette oss se litt på den historiske linjen for endringene som er påført gren valgt for å se den historiske loggen.
Siden arbeidet på konsollen noen ganger er litt tungt, selv om det er veldig nødvendig, Git tilbyr oss et verktøy som lar oss se gjennom historien til forplikter seg grafisk og er gitk er ikke en underkommando av Git som for eksempel logg som vi allerede så, men det er en uavhengig kommando og gir oss tilgang til en større detalj av grenen og dens historie.
For å bruke den må vi bare utføre følgende kommando:
gitk navnBranch

La oss se hvordan utførelsen av den ser ut i konsollen:

Selv om det kan virke som om ingenting skjedde, får vi snart et vindu med ønsket grafikk for gren spesifisert slik vi kan se på følgende skjermbilde:

FORSTØRRE

Vi kan legge merke til at vi har en mye større detalj, i tillegg til forbedringen i visualiseringen.
Ref Y Symrefs tilhøre referanser Y symbolske referanser henholdsvis den første tilsvarer en identifikator SHA1 av et objekt innenfor objektrammen i vårt depot, på den annen side tilsvarer det andre indirekte et objekt, til tross for navnet er det også en referanse.
Denne referansestrukturen er veldig viktig å vite, siden den lar oss forstå organisasjonen av katalogen vår forplikter seg Y grener innenfor Git, som er lagret i katalogen .git / ref.
Opprette en symbolsk referanseHvis vi eksplisitt vil lage en symbolsk referanse bare bruk kommandoen git symbolsk-ref, og selv om det er mulig å bruke navn som HODE for disse referansene er det ikke tilrådelig siden de til slutt kan føre oss til en forvirring som kan forårsake skade på vårt depot.
Til slutt, la oss se hvordan utførelsen av denne kommandoen ser ut når vi bruker den på vårt testlager:

Et annet interessant aspekt av forplikter seg, er det vi kan jobbe med relative navnDette gjør det veldig enkelt å finne forpliktelsesområder, for eksempel hvis vi vil finne det som finnes mellom vurderingene av en bestemt periode, kan vi gjøre det.
For å oppnå dette trenger vi bare å bruke navnet på grenen pluss symbolet ^ og revisjonsnummeret. For eksempel mester ^ hvor vi refererer til den nest siste endringen som ble gjort i gren herre.
LagringshistorikkPå denne måten vil vi kunne bevege oss gjennom hele historien til vårt depot, noe som gir oss muligheten til å få tilgang til i forhold til forplikter seg som har gjort det mulig for oss å ha den nåværende, hvis vi følger strukturen mester 2 kommer til å ta oss med til den andre faren til begå, det vil si den som har gitt liv parallelt, også med ~ vi kan få tilgang til faren til faren til vår nåværende forpliktelse, det vil si bestefaren, for å si det på en eller annen måte i slektsforskning.
Et eksempel kan være mester 2 ~ 3 For å referere til historiske endringer i vårt depot, må vi ganske enkelt bruke følgende kommando for å få navnet på en relativ forpliktelse:
git rev-parse RelativeName

Dette vil returnere SHA1 av begå som vi kom frem til. La oss se på bildet nedenfor hvordan vi kan få navnet på gjeldende commit fra master og med mester ~ navnet på den første forelderen til den samme som ville være begå hvorfra vi starter:

Vi la da merke til hvordan vi klarte å skaffe to SHA1 annerledes og gyldig i vårt depot, bare ved bruk av relative navn.
Med dette fullfører vi denne opplæringen, vi har introdusert nye konsepter for hva forplikter seg innenfor GitDette gir oss muligheten til å bedre forstå strukturene i våre depoter, med dette vil organisasjonen virke mer logisk, og dermed kan vi være mye mer effektive når vi håndterer endringer i koden vår. Måten det Git å håndtere forskjellene gjør det så spesielt, og det er derfor det har blitt en av de ledende versjonsansvarlige for dagens teknologi.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave