Git

Hva er Git?

Hva er Git?

Hva er Git?

I dag er de fleste programvareutviklingsprosjekter samarbeid. Disse prosjektene kan ha hundrevis eller tusenvis av mennesker som jobber med dem. Å holde oversikt over endringer er en nødvendighet for et jevnere samarbeid. Git er et åpen kildekode-distribuert versjonskontrollsystem som holder oversikt over programvareelementer og hjelper til med å kjøre mer effektive utviklingsprosesser.

Hva er et versjonskontrollsystem?

Når utviklere jobber med en programvare, må de holde rede på endringene. Et versjonskontrollsystem (VCS) husker versjonene av programvaren når den beveger seg gjennom de forskjellige utviklingsstadiene. Arbeid med et versjonskontrollsystem har følgende fordeler:

Git - Den distribuerte versjonskontrollen

Opprinnelig var de fleste versjonskontrollsystemene sentraliserte. I den sentraliserte modellen vil informasjon om versjonskontroll som forfatterskap, dato, klokkeslett og modifikasjonsinformasjon opprettholdes i en sentralisert server eller database. Problemet med denne modellen var at utviklingsteamene ville være begrenset av kraften eller trafikken til den sentrale serveren. Når den sentrale serveren gikk ned, ville hele systemet stå stille.

I et distribuert versjonskontrollsystem (DVCS) opprettholdes versjonsinformasjonen med hver kopi av koden. Det tillater peer-to-peer-deling. Det er ikke behov for et sentralisert lager (selv om det er mulig å sette opp et).


Kort historie om Git

Git startet i litt kontrovers som en hevnaksjon. I 2002 begynte Linux-fellesskapet å bruke det proprietære distribuerte versjonskontrollsystemet BitKeeper gratis. Men i 2005 brøt forholdet mellom Linux-fellesskapet og BitKeeper sammen da status for fri bruk ble opphevet. Så Linus Torvalds, skaperen av Linux, begynte å utvikle Git som et open source-produkt. Det året ble den første versjonen av Git utgitt. I dag er Git det mest populære versjonskontrollsystemet.

Fordeler og ulemper med Git

Git er et enkelt og kraftig distribuert versjonskontrollsystem med følgende fordeler og ulemper:

Fordeler

Opptreden: De fleste utviklingsteam flytter til Git for ytelsesfordelene. Forpliktelser, forgrening og sammenslåing er raskere i Git enn sentraliserte versjonskontrollsystemer som CVS, SVN eller Perforce. Programvarens distribuerte natur gjør det også lettere for utviklere å dele arbeid peer-to-peer. Denne prosessen er raskere enn å få koden fra en sentral server.

Sikkerhet: Integriteten til koden er lettere å verifisere på Git. Den bruker SHA1 kryptografisk sikker hashing. Hashene er unike for hver modifikasjon. Hvis noen endrer en modifikasjon, vil hasjene ikke stemme overens. Denne egenskapen til Git gjør det vanskeligere for alle å snike seg inn i kodeforandringer skjult.

Fleksibilitet: Git ble designet for å tilpasse seg hvilken som helst arbeidsflyt. Eldre versjonskontrollsystemer er mer restriktive. Men Git gir teamet ditt mer spillerom. Du kan til og med lage en sentralisert arbeidsflyt eller integrere med andre versjonskontrollsystemer for å få eldre systemer til å fungere.

Ulemper

Vanskeligere å lære: Git-konsepter er ikke alltid intuitive. Andre versjonskontrollsystemer bruker en mer brukergrensesnittbasert tilnærming. Git-fellesskap pleier å foretrekke kommandolinjen. Så det er mer utfordrende for ikke-tekniske brukere å lære.

Nostalgi for sentralisert versjonskontroll: Bedrifter er noen ganger nølende med å bruke Git fordi det ikke er noen sentralisert kontroll. Men hvis du trenger et sentralisert lager, kan du alltid utforme en arbeidsflyt for å implementere det.


Konklusjon

Git har økt i popularitet på grunn av verdien den tilfører ethvert utviklingsteam. Selv om du jobber alene med et prosjekt, kan det være mye tid å ha en pålitelig historie. Git er et gratis og nyttig verktøy for ethvert programvareutviklingsprosjekt.

Videre studier:

Git Nettsted
Git Basics
GitHub - Git Hosting Site
BitBucket - Git Hosting Site

Referanser:

Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...