Git, SVN, CVS, RCS och Mercurial. Det är inte bara en massa roliga akronymer, utan även en webbutvecklares bästa vänner. Som de webbnördar vi är så har vi givetvis stöd för dessa olika system för versionshantering i våra webbhotellspaket.
Men låt oss ta det från början, vad är versionshantering?
När man arbetar med en hemsida eller ett projekt på nätet så kan man uppdatera det på olika sätt, såsom via FTP. Det är enkelt och smidigt om man är ensam om att hantera uppdateringarna och det inte är så mycket som ska uppdateras.
Men om man är flera utvecklare och det gäller större projekt så det hända att man skriver över fel filer och missar vissa uppdateringar. Här kommer versionshanteringen in.
Med versionshantering kan flera personer arbeta med samma projekt samtidigt. Genom att ”checka ut” och ”checka in” filerna i projektet så kan alla som uppdaterar se vilken/vilka filer som uppdateras. Filer som uppdateras kan låsas eller slås samman, för att undvika felaktiga överskrivningar. Det är även möjligt att se historik över uppdateringarna och backa uppdateringar om så behövs.
Även för projekt med ensamma utvecklare är versionshantering många gånger att föredra, då man får bättre kontroll och överblick. Om man t ex arbetar med ett projekt för en kunds räkning så kan man basera sin tidsrapport på historiken från versionshanteringen.
Om versionshanteringen hos oss
I våra webbhotellspaket har man möjlighet att använda versionshanteringssystemen Git, SVN, CVS, RCS och Mercurial. De har alla olika fördelar/nackdelar, vilken man väljer beror ofta på smak, projekt och utvecklingsmiljö. Det finns en jämförelse av olika versionshanteringssystem på Wikipedia.
Att komma igång med versionshantering kan vara lite klurigt om man inte har gjort det tidigare. Men när det väl är klart så är uppdateringarna riktigt smidiga. Som webbhotellskund hos oss så har man full åtkomst till sitt konto via SSH och installerar/aktiverar därigenom sin versionshantering.
Hur fungerar versionshantering i praktiken då?
Här är ett exempel på hur man installerar och uppdaterar WordPress via SVN (Subversion) hos oss:
Vi utgår ifrån ett konto hos oss utan någon tidigare hemsida. Hemsidan installeras i mappen ”www” och visas på så sätt direkt när man surfar till sitt domännamn. Det går givetvis att installera det hela i en undermapp till ”www”.
Inloggad på servern via SSH, ange följande kommandon:
$ cd www
$ svn co http://core.svn.wordpress.org/tags/3.3.1 .
Döp sedan om wp-config-sample.php till wp-config.php och ange nödvändiga uppgifter för databas osv i wp-config.php. Surfa till sist till domänen för att slutföra installationen.
När man sedan vill uppdatera till en ny version av WordPress, då är följande kommandon som gäller:
$ cd www
$ svn sw http://core.svn.wordpress.org/tags/3.3.2/ .
Versionsnumret kan givetvis variera. Surfa därefter till ditt domännamn hos oss + /wp-admin/upgrade.php (t ex http://sulo.se/wp-admin/upgrade.php) för att slutföra uppdateringen.
Med SVN är det enkelt att köra den absolut senaste utvecklingsversionen av WordPress också. Det rekommenderas inte för vanliga hemsidor, men om du vill ligga i framkant och inte är rädd för buggar så kan du köra ”trunk” (som utvecklingsversionen heter).
För installation, ange följande kommandon:
$ cd www
$ svn co http://core.svn.wordpress.org/trunk/ .
Precis som med vanliga WordPress, ange nödvändiga uppgifter i wp-config.php och slutför installationen i en webbläsare.
För uppgradering, ange följande kommandon:
$ cd www
$ svn up
Även här slutför du uppdateringen i en webbläsare.
Läs gärna mer om SVN på WordPress hemsida. Där finns även instruktioner till hur man gör om en vanlig WordPress-sida till en sida med stöd för versionshantering. För en fullständig manual till SVN, med exempel på de kommandon du kan utföra, skriv ”man svn” (utan citattecken) i SSH-konsolen.
Om du har några frågor om versionshantering hos oss, lämna gärna en kommentar här eller kontakta vår kundtjänst.
Ps: Vi kommer att uppdatera Git från 1.6.0.1 till 1.7.8.1 den 10:e januari. Det ska inte påverka våra kunder, mer än att Git förbättras.