WORDS
Navigera i webbdjungeln: Versionshantering
Ett versionshanteringsprogram håller koll på olika versioner av din källkod, så att du lätt kan återgå till en tidigare version, eller arbeta tillsammans med andra utvecklare. Det i särklass vanligaste tekniken idag är Git, och även om det finns ett stort antal alternativa program, så kräver ett annat val än Git år 2019 en särskild motivering. Med valet av teknik ur vägen, återstår valet av central server och klient.
Centrala Git-servrar
En central Git-server låter flera utvecklare komma åt och använda ett Git-repo, så att dom enklare kan samarbeta. Även om man är ensam i sitt projekt så är det en bra vana att alltid lägga upp sitt repo på en central server.
Om man arbetar på ett företag, så finns troligtvis redan en central server som man förväntas använda. Om du däremot har fria händer att välja vad du vill, så finns flera bra alternativ, gratis för små (och ibland större) projekt. Här följer några alternativ i prioritetsordning, med det som jag föredrar först.
- Gitlab
- Github
- Bitbucket
- Azure Devops
En anledning till varför jag föredrar Gitlab är dess utmärkta system med CI (Continuous Integration) och byggservrar. Alla dessa alternativ är under kraftig utveckling, och det är möjligt konkurrensen gör att alla alternativ blir mer eller mindre likvärdiga. Det får framtiden utvisa.
Git-klienter
En Git-klient är programmet som man använder för att arbeta med versionshantering, för skapa nya versioner, dela med sig av dom och hämta hem andra utvecklares grenar. Många editorer och IDE:er tillhandahåller redan viss Git-integration, och det kan vara värt att undersöka den möjligheten också. Här följer några fristående applikationer, men det finns många många fler.
Klient | Plattformar |
---|---|
git (kommandoraden) |
Windows, Mac, Linux |
TortoiseGit | Windows |
Sublime Merge | Windows, Mac, Linux |
GitKraken | Windows, Mac, Linux |
Sourcetree | Windows, Mac |
Github Desktop | Windows, Mac |
Själv tycker jag att olika program visualiserar versionshistoriken och diffar olika bra, och ger access till dom funktioner jag vill ha på olika sätt. Därför använder jag en kombination av dessa i mina projekt: Git-kommandoraden, TortoiseGit, Sublime Merge, Visual Studio Code och Visual Studio.
Förstå Git
Det är inte trivialt att förstå Git. Det kräver att man lägger en del energi på att förstå koncepten, men det är väl värt tiden. Att lära sig Git ligger emellertid utanför den här artikelseriens mål.