Vad är Git?
Idag är de flesta mjukvaruutvecklingsprojekt samarbetsinsatser. Dessa projekt kan ha hundratals eller tusentals människor som arbetar med dem. Att hålla reda på förändringar är en nödvändighet för ett smidigare samarbete. Git är ett öppen källkod distribuerat versionskontrollsystem som håller reda på programvarutillgångar och hjälper till att köra mer effektiva utvecklingsprocesser.
Vad är ett versionskontrollsystem?
När utvecklare arbetar med en programvara måste de hålla reda på sina förändringar. Ett versionskontrollsystem (VCS) kommer ihåg versionerna av programvaran när den går igenom olika utvecklingsstadier. Att arbeta med ett versionskontrollsystem har följande fördelar:
- Långsiktig historia: Versionskontrollsystem bibehåller historien om vem, vad och när eventuella ändringar av programvarukoden. Denna historik är en värdefull resurs för att hitta eventuella fel i programvaran. Om det finns några problem med den nya koden kan du alltid gå tillbaka till de äldre versionerna.
- Förgrening och sammanslagning: De flesta versionskontroller har förgrenings- och sammanslagningsfunktioner. Så utvecklingsteam kan dela upp arbetet i flera strömmar och arbeta samtidigt med olika aspekter av projektet.
- Spårbarhet: Versionskontroll ger utvecklare ett sätt att enkelt och pålitligt spåra buggar och problem i en programvara. Det minskar förvirring. Det skapar en effektiv och transparent samarbetsmiljö.
Git - Den distribuerade versionskontrollen
Ursprungligen var de flesta versionskontrollsystemen centraliserade. I den centraliserade modellen skulle information om versionskontroll som författarskap, datum, tid och modifieringsinformation bibehållas i en centraliserad server eller databas. Problemet med denna modell var att utvecklingsteamen skulle begränsas av kraften eller trafiken från den centrala servern. När den centrala servern gick ner stannade hela systemet.
I ett distribuerat versionskontrollsystem (DVCS) bibehålls versionsinformationen med varje kopia av koden. Det tillåter peer-to-peer-delning. Det finns inget behov av ett centralförvar (även om det är möjligt att ställa in en).
Kort historia av Git
Git började i lite kontrovers som en hämndhandling. År 2002 började Linux-communityn använda det proprietära distribuerade versionskontrollsystemet BitKeeper gratis. Men 2005 bröt förhållandet mellan Linux-gemenskapen och BitKeeper när statusen för fri användning återkallades. Så Linus Torvalds, skaparen av Linux, började utveckla Git som en öppen källkodsprodukt. Det året släpptes den första versionen av Git. Idag är Git det mest populära versionskontrollsystemet.
För- och nackdelar med Git
Git är ett enkelt och kraftfullt distribuerat versionskontrollsystem med följande fördelar och nackdelar:
Fördelar
Prestanda: De flesta utvecklingsteam flyttar till Git för prestationsfördelarna. Åtaganden, förgrening och sammanslagning är snabbare i Git än centraliserade versionskontrollsystem som CVS, SVN eller Perforce. Programvarans distribuerade natur gör det också lättare för utvecklare att dela arbete peer-to-peer. Denna process är snabbare än att få koden från en central server.
Säkerhet: Kodens integritet är lättare att verifiera på Git. Den använder SHA1 kryptografiskt säker hashing. Hashen är unika för varje modifiering. Om någon ändrar en modifiering matchar inte hasharna. Denna egenskap hos Git gör det svårare för någon att smyga in kodförändringar i hemlighet.
Flexibilitet: Git designades för att anpassas till alla arbetsflöden. Äldre versionskontrollsystem är mer restriktiva. Men Git ger ditt team mer spelrum. Du kan till och med skapa ett centraliserat arbetsflöde eller integrera med andra versionskontrollsystem för att få dina äldre system att fungera.
Nackdelar
Svårare att lära sig: Git-koncept är inte alltid intuitiva. Andra versionskontrollsystem tar ett mer användargränssnittsbaserat tillvägagångssätt. Git-community tenderar att föredra kommandoraden. Så det är mer utmanande för icke-tekniska användare att lära sig.
Nostalgi för centraliserad versionskontroll: Företag är ibland tveksamma till att använda Git eftersom det inte finns någon centraliserad kontroll. Men om du behöver ett centralförvar kan du alltid utforma ett arbetsflöde för att implementera det.
Slutsats
Git har ökat i popularitet på grund av det värde det tillför varje utvecklingslag. Även om du arbetar ensam med ett projekt kan du spara mycket tid med en pålitlig historik. Git är ett gratis och användbart verktyg för alla programutvecklingsprojekt.
Ytterligare studier:
Git-webbplats
Git Basics
GitHub - Git webbsajt
BitBucket - webbhotell för Git
Referenser:
- https: // www.atlasiska.com / git / tutorials / what-is-version-control
- https: // www.atlasiska.com / git / tutorials / what-is-git
- https: // git-scm.com / book / sv / v2 / Komma igång-A-Short-History-of-Git
- https: // git-scm.com / book / sv / v2 / Komma igång-Git-Basics
- https: // github.com /