Git er et styringssystem for åpen kildekode versjon kjent for sin hastighet, stabilitet og distribuert samarbeidsmodell. Originalt opprettet i 2006 for å administrere hele Linux-kjernen, har Git nå et omfattende funksjonssett, et aktivt utviklingslag og flere gratis hosting-fellesskap.
Git ble designet fra grunnen, med liten oppmerksomhet til eksisterende standarder for sentraliserte versionseringssystemer. Så, hvis du kommer fra en SVN- eller CVS-bakgrunn, prøv å glemme alt du vet om versjonskontroll før du leser denne veiledningen.
Distribuert programvareutvikling er fundamentalt forskjellig fra sentraliserte versjonskontrollsystemer. I stedet for å lagre filinformasjon i et enkelt sentralregister, gir Git hver utvikler en full kopi av depotet. For å lette samarbeidet, lar Git hver av disse depotene dele endringer med andre lagre.
Å ha et komplett lager på din lokale maskin har en vidtgående innvirkning på utviklingssyklusen ...
For det første betyr en lokal kopi av depotet at nesten alle versjonskontrollhandlinger er mye raskere. I stedet for å kommunisere med den sentrale serveren over en nettverksforbindelse, utføres Git-handlinger på den lokale maskinen. Dette betyr også at du kan jobbe offline uten å endre arbeidsflyten din.
Siden hver samarbeidspartner i hovedsak har en sikkerhetskopi av hele prosjektet, er risikoen for en serverkrasj, et ødelagt depot eller annen type datatap mye lavere enn for sentraliserte systemer som er avhengige av et enkelt tilgangspunkt.
Hver kopi av et Git-depot, enten lokalt eller eksternt, beholder hele prosjektets historie. Å ha et komplett, isolert utviklingsmiljø gir hver bruker friheten til å eksperimentere med nye tillegg før de polerer dem opp i rene, publiserbare forpliktelser.
En komplett historie for hver utvikler betyr også a avvikende historie for hver utvikler. Så snart du gjør en enkelt lokal forpliktelse, er du ute av synkronisering med alle andre på prosjektet. For å takle denne enorme mengden forgrening ble Git veldig bra til å slå sammen divergerende utviklingslinjer.
Denne leksjonen representerer et kapittel fra Git Succinctly, en gratis eBok fra teamet på Syncfusion.