Versionshantering med Git

Skriver artikeln eftersom jag själv brukar glömma bort en del mellan varven då jag aktivt jobbar i programmet..

Artikeln beskriver inte hur man sätter upp GIT. Guider för för detta finns för både Linux och Windows samt Mac OS X på Github som är mer än tillräckligt bra.

Överblick

Efter att man har gjort sina förändringar i sitt projekt och det är dax att spara dessa i versionshanteringen så ger man följande kommandon:

git add
git commit

”git add” lägger filerna som ska commitas i en kö och ”git commit” behandlar kön samt sparar commiten.
Jobbar man mot en server så kommer man också vilja ge följande kommando:

git push

”git add” har en del parametrar som man kan leka med. Artikeln går inte in på djupet över alla dessa men förklarar grundläggande dom som man troligen kommer jobba mest med.

Kön

Säg att man har ändrat i filen index.php, då ger vi kommandot om att lägga till denna filen i kön på följande vis:

git add index.php

Enkelt o bra, filen är nu lagd i kö men ej commitad. Man kanske vill lägga till fler filer och då upprepar man samma kommando som tidigare.
Alternativt kan man göra det på en rad om detta känns bättre:

git add fil_1.php fil_2.php

Kommandot kommer lägga till ”fil_1.php” och ”fil_2.php” i kön.

Vill man lägga till alla filer som finns i en mapp så skriver man:

git add <mappens namn>

..och för att lägga till alla filer i mappen man befinner sig i så skriver man såklart:

git add .

Kommandot ”git add” utför dock inget ”rm” kommando om man inte har specificerat detta. Dvs att om man lägger till alla filer med ovanstående kommando så kommer Git ändå inte ta bort filerna i versionen som inte längre finns. För att göra detta ger man flaggan ”-u”

git add -u

Man kan också använda kommandot ifall man endast vill uppdatera förändringar i de befintliga filerna som redan spårats i tidigare commits.

Ett sätt att båda lägga till nya filer och ta bort de filer som man har tagit bort är:

git add -A

Man kan också specificera en mapp som man endast vill att detta ska gälla i.

git add <mappens namn> -A

Viktigt att känna till om Git är att man inte kan spara en ny version av en fil som ser likdan ut som den förra. En styrka som gör att man inte behöver flera versioner av samma fil och då lätt kan följa utvecklingen även om andra filer i projektet har förändrats.

Vill man nu se hur kön ser ut kan man använda kommandot:

git status

Har man gjort ett misstag och vill ta bort en av filerna som man råkat lägga i kön så använder man kommandot:

git reset <filnamnet>

Man kan också låta bli att specificera ett filnamn för att tömma hela kön.

Spara versionen

Nöjd med kön så kan man nu göra själva commiten med kommandot:

git commit

Flaggan ”-m” låter en lägga till ett meddelande till commiten där man kan skriva vad det är för något man har förändrat.

git commit -m "Uppdaterat lite småbuggar"

Då detta kommandot nu är utfört så har vi sparat versionen på vår lokala dator. Man kan göra dessa commits flera gånger innan man beslutar sig för att pusha till servern.

Spara versionen på servern

Detta gör man enkelt med kommandot

git push <remote>

För att lära sig mer om ”remotes” så finns följande hjälp på github: http://help.github.com/remotes/

Har man olika ”branches” så kan man specificera detta på följande vis

git push <remote> <branch>

Länkar

Länkar som kan vara av intresse i sammanhanget

http://help.github.com/
http://progit.org/