Använda commits i Git

Innehållsförteckning
Förändringarna i Git De är inte desamma som i andra hanterings- och versionskontrollsystem, eftersom genom att bara lagra det som verkligen har förändrats minskar det storleken på filerna som genereras för kontroll och ger det också större smidighet.
Den aspekt som styr allt detta är index vem har ansvaret att veta vem, vad och när av alla ändringar som gjorts, det är därför efter att ha lagt till de olika aspekterna till vår index av gren samtalet görs begå.
Vad är ett åtagande?I Git Vi vet att för att lägga till en ändring måste vi göra en begå samma när det har lagts till i förvarsindexet. Vad är dock en begå exakt? Denna fråga ställs inte alltid till oss själva på det sättet vi Git hanterar detta är ganska tydligt, men a begå är så Git registrerar det aktuella tillståndet för förvarsindexet och lagrar det i motsvarande objekt, på detta sätt var och en begå den härleds från den föregående och därmed kan strukturen som inte genomgår förändringar återanvändas.
Resurshanteringen som gör detta så snabbt beror på att jämförelser görs över SHA1 Därför, om elementen i indexet har samma hash, fortsätter de inte att fördjupa sig i deras ändringar eftersom de är identiska och därför tas bara de filer som verkligen ändrats.
Det sätt på vilket begår tillåter oss att upprätta hierarkiska strukturer som ger säkerhet för att få ursprunget till alla registrerade förändringar, så om vi följer bästa praxis för Git Vi kommer aldrig att gå vilse, tack vare de unika identifierarna kan vi också vara säkra på att om någon funktionalitet har skapat ett problem kan den hittas på den exakta platsen där den inkluderades.
Vi kommenterade hur begår ha en hash i SHA1 med vilka de kan identifieras visar det sig att denna hash också gör dem unika och oåterkalleliga, det vill säga om vi har en begå och i ett annat förråd hittas samma hash så att vi kan veta att det är samma begå.
På grund av detta begå övervägs också atom-, det vill säga som en enda enhet oberoende som lagrar tillståndet för många kataloger eller filer, med detta kan vi hänvisa till begå som en enhet i vårt förvar och därmed kunna behandla var och en som ett element som, även om det är relaterat till det föregående, är unikt.
Även om hash SHA1 fungerar som en unik identifierare för begå, dess struktur av 40 alfanumeriska tecken kan representera ett problem när vi vill kommunicera med en annan utvecklare och förklara det begå Vi pratar.
Relativa namnFör att lösa detta problem kan vi fastställa släktnamn och lättare att komma ihåg för begårDessa ersätter inte hash, utan de fungerar snarare som ett slags etikett som gör att vi kan identifiera dem på ett mer mänskligt sätt.
Att prata om det sista begå av gren kan vi helt enkelt hänvisa till HUVUD, eftersom detta alltid kommer att hänvisa till det senaste och det senaste begåMen eftersom vi inte alltid kommer att kräva detta är det tillräckligt att vi använder de första tecknen i hash, även om det inte alltid kommer att vara unikt, så genom att lägga till fler tecken kommer vi att uppnå motsvarande unikhet.
Låt oss se kommandot som vi måste använda för att uppnå det senare:
git log -1 --pretty = on -line identifier commit

Nu kommer vi att se i följande bild hur vi identifierar a begå i vårt testförvar, för detta kommer vi initialt att hitta vilken som är SHA1 av HUVUD och sedan kommer vi att kalla det med dess första tecken, låt oss se:

Med föregående exempel har vi upptäckt ett verktyg för Git som kan vara mycket användbart och är log kommando, detta är mycket kraftfullt eftersom det gör att vi kan hitta de olika begå på ett snabbt och exakt sätt, men det har många parametrar och konfigurationer som kan vara svåra att memorera i första hand, men för att använda det behöver vi inte lära oss dem alla, vi kan gå lite efter lite medan vi vänjer oss vid dess använda sig av.
Om vi ​​vill se bindningshistoriken gör du bara följande:
git log filialnamn

Med detta kommer vi att få detaljerad historikinformation av vår gren och deras begårLåt oss se hur det ser ut i vår konsol i förvaret av tester som vi har:

Vi märker sedan hur begår är organiserade från de senaste till de äldsta, detta gör att vi kan se lite den historiska linjen för de förändringar som drabbats av gren valt att se den historiska loggen.
Eftersom arbetet på konsolen ibland är lite tungt, även om det är mycket nödvändigt, Git erbjuder oss ett verktyg som gör att vi kan granska historien om begår grafiskt och är gitk är inte ett underkommando av Git som till exempel logg som vi redan såg, men det är ett oberoende kommando och låter oss komma åt en större detalj av grenen och dess historia.
För att använda det måste vi helt enkelt utföra följande kommando:
gitk namnBranch

Låt oss se hur utförandet av det ser ut i konsolen:

Även om det kan tyckas att inget har hänt, kommer vi snart att få ett fönster med den begärda grafiken för gren specificeras som vi kan se i följande skärmdump:

FÖRSTORA

Vi kan märka att vi har en mycket större detalj, utöver förbättringen i dess visualisering.
Ref Y Symrefs tillhör referenser Y symboliska referenser respektive motsvarar den första en identifierare SHA1 av ett objekt inom objektramen i vårt förvar, å andra sidan motsvarar det andra indirekt ett objekt, trots dess namn är det också en referens.
Denna referensstruktur är mycket viktig att känna till eftersom den tillåter oss att förstå organisationen av vår katalog över begår Y grenar inom Git, som lagras i katalogen .git / ref.
Skapa en symbolisk referensOm vi ​​vill uttryckligen skapa en symbolisk referens använd bara kommandot git symboliskt-ref, och även om det är möjligt att använda namn som HUVUD för dessa referenser är det inte tillrådligt eftersom de i slutändan kan leda till en förvirring som kan skada vårt förvar.
Slutligen, låt oss se hur körningen av detta kommando ser ut när vi tillämpar det på vårt testförråd:

En annan intressant aspekt av begår, är att vi kan arbeta med släktnamnDetta gör att det är väldigt enkelt att hitta engagemangsområden, till exempel om vi vill hitta vad som finns mellan granskningarna av en viss period kan vi göra det.
För att uppnå detta behöver vi bara använda grenens namn plus symbolen ^ och revisionsnumret. Till exempel mästare ^ där vi hänvisar till den näst sista ändringen som gjorts i gren bemästra.
FörvarshistorikPå så sätt kommer vi att kunna gå igenom hela vårt förvar, vilket ger oss möjlighet att komma åt i förhållande till begår som har gjort det möjligt för oss att ha den nuvarande, om vi följer strukturen mästare 2 kommer att ta oss till den andra pappan till begå, det vill säga den som har gett liv parallellt, också med ~ vi kan få tillgång till fadern till fadern till vårt nuvarande åtagande, det vill säga farfar, att uttrycka det på något sätt i släktforskning.
Ett exempel kan vara mästare 2 ~ 3 För att hänvisa till historiska förändringar i vårt arkiv, om vi vill få namnet på en relativ åtagande måste vi helt enkelt använda följande kommando:
git rev-parse RelativeName

Detta kommer att returnera SHA1 av begå som vi kom fram till. Låt oss se i följande bild hur vi kan få namnet på det nuvarande engagemanget från master och med mästare ~ namnet på den första föräldern till samma vem som skulle vara begå från vilket vi börjar:

Vi märkte då hur vi kunde få två SHA1 annorlunda och giltiga i vårt arkiv, endast med släktnamn.
Med detta avslutar vi denna handledning, vi har introducerat nya koncept om vad begår inom GitDetta ger oss möjlighet att bättre förstå strukturerna i våra förråd, med detta kommer organisationen att verka mer logisk och därmed kan vi vara mycket mer effektiva när vi hanterar förändringar inom vår kod. Sättet som Git att hantera skillnaderna gör det så speciellt och det är därför det har blivit en av de ledande versionerna av dagens teknik.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng
wave wave wave wave wave