Dela via


Vad är Git?

Git har blivit den globala standarden för versionskontroll. Så vad exakt är det?

Git är ett distribuerat versionskontrollsystem, vilket innebär att en lokal klon av projektet är en fullständig lagringsplats för versionskontroll. Dessa fullt fungerande lokala lagringsplatser gör det enkelt att arbeta offline eller via fjärranslutning. Utvecklare genomför sitt arbete lokalt och synkroniserar sedan sin kopia av lagringsplatsen med kopian på servern. Det här paradigmet skiljer sig från centraliserad versionskontroll där klienter måste synkronisera kod med en server innan nya versioner av kod skapas.

Gits flexibilitet och popularitet gör det till ett bra val för alla team. Många utvecklare och högskoleutbildade vet redan hur man använder Git. Gits användarcommunity har skapat resurser för att utbilda utvecklare och Gits popularitet gör det enkelt att få hjälp när det behövs. Nästan alla utvecklingsmiljöer har Git-stöd och Git-kommandoradsverktyg implementerade på alla större operativsystem.

Grunderna i Git

Varje gång ändringar sparas skapar Git en commit. En commit är en ögonblicksbild av alla filer vid en tidpunkt. Om en fil inte har ändrats från en incheckning till en annan använder Git den tidigare lagrade filen. Den här designen skiljer sig från andra system som lagrar en första version av en fil och håller en rekord över skillnader över tid.

Linjärt diagram över utveckling i Git

Incheckningar skapar länkar till andra incheckningar och bildar ett diagram över utvecklingshistoriken. Det går att återställa kod till en tidigare incheckning, kontrollera hur filer har ändrats från en incheckning till en annan och granska information som var och när ändringar har gjorts. Incheckningar identifieras i Git med en unik kryptografisk hash för innehållet i incheckningen. Eftersom allt hashas är det omöjligt att göra ändringar, förlora information eller skadade filer utan att Git identifierar det.

Grenar

Varje utvecklare sparar ändringar i sin egen lokala kodlagringsplats. Det kan därför finnas många olika ändringar baserade på samma commit. Git innehåller verktyg för att isolera ändringar och senare sammanfoga dem igen. Grenar, som är lätta pekare till pågående arbete, hanterar denna separation. När arbetet som skapats i en gren har slutförts kan det integreras tillbaka till teamets huvudgren (eller trunk).

Åtaganden på en branch

Filer och åtaganden

Filer i Git är i något av tre tillstånd: ändrade, mellanlagrade eller bekräftade. När en fil först ändras finns ändringarna bara i arbetskatalogen. De är ännu inte en del av en commit eller utvecklingshistorik. Utvecklaren måste staga de ändrade filerna så att de inkluderas i commit. Mellanlagringsområdet innehåller alla ändringar som ska inkluderas i nästa commit. När utvecklaren är nöjd med de stageade filerna paketeras filerna som en commit med ett meddelande som beskriver vad som ändrats. Den här commit blir en del av utvecklingshistoriken.

file_status_lifecycle-2

Med mellanlagring kan utvecklare välja vilka ändringar i filer som ska sparas i ett commit för att dela upp stora ändringar i en serie mindre commits. Genom att minska omfattningen av åtaganden blir det lättare att granska åtagandehistoriken för att hitta specifika filändringar.

Fördelar med Git

Fördelarna med Git är många.

Samtidig utveckling

Alla har en egen lokal kodkopia och kan arbeta samtidigt på sina egna grenar. Git fungerar offline eftersom nästan alla åtgärder är lokala.

Snabbare versioner

Grenar möjliggör flexibel och samtidig utveckling. Huvudgrenen innehåller stabil, högkvalitativ kod från vilken du släpper. Funktionsgrenar innehåller pågående arbete, som sammanfogas till huvudgrenen när det är klart. Genom att separera versionsgrenen från pågående utveckling är det enklare att hantera stabil kod och skicka uppdateringar snabbare.

Inbyggd integrering

På grund av sin popularitet integreras Git i de flesta verktyg och produkter. Varje större IDE har inbyggt Git-stöd och många verktyg stöder kontinuerlig integrering, kontinuerlig distribution, automatiserad testning, spårning av arbetsobjekt, mått och rapporteringsfunktionsintegrering med Git. Den här integreringen förenklar det dagliga arbetsflödet.

Starkt gemenskapsstöd

Git är öppen källkod och har blivit standard för versionskontroll. Det finns ingen brist på verktyg och resurser som är tillgängliga för team att utnyttja. Mängden communitystöd för Git jämfört med andra versionskontrollsystem gör det enkelt att få hjälp när det behövs.

Git fungerar med valfritt team

Genom att använda Git med ett verktyg för källkodshantering ökar teamets produktivitet genom att uppmuntra samarbete, framtvinga principer, automatisera processer och förbättra synligheten och spårbarheten för arbetet. Teamet kan välja individuella verktyg för versionskontroll, spårning av arbetsobjekt och kontinuerlig integration och deployment. Eller så kan de välja en lösning som GitHub eller Azure DevOps som stöder alla dessa uppgifter på ett och samma ställe.

Hämta begäranden

Använd pull requests för att diskutera kodändringar med teamet innan du sammanfogar dem till huvudbranch. Diskussionerna i pull-begäranden är ovärderliga för att säkerställa kodkvalitet och öka kunskapen i hela teamet. Plattformar som GitHub och Azure DevOps erbjuder en omfattande upplevelse för pull-begäranden där utvecklare kan bläddra bland filändringar, lämna kommentarer, inspektera incheckningar, visa versioner och rösta för att godkänna koden.

Grenpolicyer

Teams kan konfigurera GitHub och Azure DevOps för att framtvinga konsekventa arbetsflöden och processer i hela teamet. De kan konfigurera grenprinciper för att säkerställa att pull-begäranden uppfyller kraven innan de slutförs. Regler för grenar skyddar viktiga grenar genom att förhindra direkta pushar, kräva granskare och säkerställa rena byggen.

Nästa steg

Installera och konfigurera Git