Alla som har kört ett något så när stort programmeringsprojekt, speciellt om flera personer är inblandade, vet att det lätt blir strul med att hålla reda på filer och på olika versioner av programmet som byggs. Därför har verktyg för versionshantering blivit populära.

Git är den lösning som är så nära en standard man kan komma i dag vad gäller versionshantering. Det är ett öppet verktyg för att hantera versioner och för att koordinera samarbete mellan flera utvecklare.

Git skapades av Linus Torvalds, med avsikt att förbättra arbetet med att bygga Linuxkärnan. I dag är Git fundamentet för flera populära webbtjänster som använder dess grundläggande funktionalitet. Mest framträdande av dessa är Github, Bitbucket och Gitlab.

Vilken av tjänsterna ska man välja?

Den frågan tar sig Infoworld an i en jämförelse mellan de tre tjänsterna.

Till att börja med kan man konstatera att Github, som nyligen har förvärvats av Microsoft, är mest populär. De som driver tjänsten påstår sig ha 28 miljoner användare, vilka förvarar programkod i hela 85 miljoner så kallade ”repon” (kataloger). I dagligt tal är repo för det mesta synonymt med projekt.

Läs också: 10 tips för att bli Github-proffs

Alla tre tjänsterna finns i gratisversioner som räcker långt, men de finns också i betalversioner med mer funktionalitet. Github är dyrast med ett pris som startar på sju dollar, drygt 61 kronor, per månad och utvecklare. Bitbucket startar på två dollar, cirka 17 kronor och 50 öre, och Gitlab på fyra dollar, knappt 35 kronor. Företag som är stora användare kan garanterat räkna med rabatter.

De olika gratisversionerna bjuder på olika mycket funktionalitet. Med utmanarna Bitbucket och Gitlab kan man till exempel skapa privata repon, vilket bara gäller för studenter på Github. Även vad gäller antalet personer i team så finns det skillnader, Gitlab anger till exempel inte någon begränsning.

Värt att notera är att det går att köra de olika tjänsterna på egna servrar, vilket också påverkar priserna, i nedåtgående riktning.

Så långt prisbilden. Vad gäller funktionalitet finns det kanske en aspekt som är viktigare än andra för många. Det är kontinuerlig integration. Gitlab har en Jenkinsbaserad lösning inbyggd. Bitbucket har en Pipelinesbaserad lösning, som dessutom är integrerad med Amazons molnplattform.

Lösningen för Github är att man kan använda sin egen server för kontinuerlig integration, vilket är en fördel i vissa lägen. Det sättet att jobba fungerar även med Gitlab och Bitbucket.

Gitlab utvecklas mot att bli ett utvecklingsverktyg i sig. Det kan ännu inte matcha mer avancerade utvecklingsverktyg som till exempel Eclipse, för att inte tala om Microsofts Visual Studio. Med Github och Bitbucket finns det enkla textredigerare för att modifiera filer.

En fördel med Bitbucket är en smart sökfunktion som förstår sig på populära programmeringsspråk, vilket ger bättre sökresultat. Att Bitbucket kommer från Atlassian, företaget bakom blanda annat Jira för projekt- och ärendehantering, är säkert en fördel för många. I alla fall för användare av Jira och andra Atlassianprodukter. Men både Github och Gitlab har inbyggd ärendehantering och kan också integreras med Jira.

Läs också: Massor av sårbarheter på Github – men de fixas snabbt

Om du känner att du måste anpassa din Gittjänst så är Gitlab ett alternativ, eftersom det är ett öppet verktyg. Man kan ladda ner koden (Ruby) och skapa egen funktionalitet, eller ändra den som finns.

Vad gäller populära molnplattformar så är Gitlab tätt integrerad med Googles, till exempel med Googles Kubernetestjänst. Gitlab har en tät integration med Kubernetes även utan Googles moln. Bitbucket har en tät integration med Amazons olika molntjänster.

Bitbucket kan dessutom bjuda på många tredjepartstillägg, i skrivande stund finns det 304 stycken på Atlassians marknadssajt. Det finns till exempel applikationer för att hantera kodleveranser och för att visa grafik om aktiviteter.

Som du märker bjuder de tre tjänsterna på olika fördelar. Det går dessutom att använda Git i dess originalform, om man nöjer sig med ett enkelt kommandoradsverktyg. Alla grundläggande funktioner finns tillgängliga på det sättet.

Vilket råd ger Infoworld, vad gäller val att Gitbaserad tjänst? Jo, att det inte finns någon anledning att nöja sig med en enda tjänst. Man kan använda flera, beroende på vilken funktionalitet som är viktig i olika sammanhang.