Lathund för Git.

11May11

Det var länge sen jag bloggade om annat än foto, den senaste tiden har jag snöat in på skillnaderna mellan stncpy, strlcpy och fopen vs fopen64. Men jag tänker inte tråka ute med några långa redovisningar om de ämnen när rubriken tyder på att det ska handla om Git.

Lathund för Git.

Grundläggande:

  • git init – Initilerar git för projekt.
  • git add *.cpp – Lägger till (.cpp) filer i gits träd.
  • git commit -m “Tada” – “Commitar” med kommentaren “Tada”
  • git branch master2 – Skapar ny branch med namnet master2
  • git branch – listar alla tillgänliga brancher.
  • git branch -d master2 – Raderar master2.
  • git checkout master2 – Gör master2 till aktuell arbetsbranch.
  • git status – Visar vilka filer som är ändrade men än inte commitade.
  • git merge master2 – slår i hop nuvaranande branch med master2.
  • git reset –hard HEAD~1 – tar bort senaste commiten i branchen.
  • git log – Visar alla tidigare commitar med kommentarer och vem som gjort vad.
  • git pull – hämtar nya ändringar från server.
  • git push – skickar nya ändringar till servern.

Filhantering:

  • git add minfil.txt – Lägger till filen “minfil.txt”.
  • git rm minfil.txt – Raderar filen “minfil.txt”.
  • git rm -r /src/test – raderar katalogen “/src/test” och dess innehåll.
  • git mv minfil.txt nyfil.txt – Flyttar/döper om minfil.txt till nyfil.txt.
  • git ignore minfil.txt_back – Ignorerar filen “minfil.txt_back”.

Avancerat:

  • git rebase -i HEAD~5 – Ändrar och flyttar runt bland commitarna (-i) interaktivt.
  • git rebase –abort – avbrtyter rebasen.
  • git clone – Klonar repon.

Snyggare commits:

Det är oftast snyggast att använda rebase i stället för merge, gitbook har en snygg och fin jämförelse mellan rebase och merge (se http://book.git-scm.com/4_rebasing.html)

Övrigt:

För att få bättre ordning och snyggare struktur kan man försöka undvika att arbeta direkt med orginalkoden även när man jobbar lokalt. I stället för att skapa projektet direkt i ~/projekt/foo och köra git direkt där i så är det bättre att skapa projektet i tex /mnt/media/usb_disk/projekt/foo. Och sedan använda git clone för att föra över repon till sin ~/projekt, sedan är det bara att använda git push och git pull för att synkonisera repona. Då får man dessutom gratis backup.

Resurser:

http://www-cs-students.stanford.edu/~blynn/gitmagic
http://book.git-scm.com

Har jag glömt något eller nu undrar något så är det bara att skriva en kommentar.

//Fredrik

About these ads


5 Responses to “Lathund för Git.”

  1. 1 Kristian

    “git rebase –abort” med två bindestreck :) Annars grym sammanfattning!

  2. 2 Kristian

    Du missade möjligen

    git pull –rebase . other_repo_to_rebase_on

  3. 4 Kristian

    Äsch, det är WordPress som skär bort extra bindestreck, tar tillbaka min påpekan.

  4. 5 Fredrik Persson

    Precis vad jag behvde nu.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: