Skip to content

Git Kommando Cheat Sheet

Git är ett öppen källkod-distribuerat versionshanteringssystem som kan hantera versionshantering av projekt från mycket små till mycket stora på ett effektivt och snabbt sätt. Git utvecklades av Linus Torvalds för att hjälpa till med hanteringen av Linux-kärnans utveckling.

Grundläggande Git

git init <directory>

Skapar ett tomt git-lager i den angivna katalogen. Om det körs utan parametrar initialiseras den aktuella katalogen som ett git-lager.

git clone <repo>

Klonar lagret som finns på <repo> till den lokala maskinen. Det ursprungliga lagret kan finnas på det lokala filsystemet eller på en fjärrmaskin via HTTP eller SSH.

git config user.name <name>

Definierar författarnamn som ska användas för alla commits i det aktuella lagret.

git add <directory>

Lägger till innehållet som har ändrats i <directory> för nästa commit.

git commit -m "<message>"

Committar fas-ögonblicksbilden och använder <message> som commit-meddelande.

git status

Listar vilka filer som är i stadium (staged), ej i stadium (unstaged) och ej spårade (untracked).

git log

Visar hela commit-historiken med standardformatet.

git diff

Jämför skillnaderna mellan arbetskatalogen (före git add) och staging-området (efter git add).

Ångra ändringar

git revert <commit>

Skapar en ny commit som upphäver alla ändringar som gjorts i <commit> och tillämpar dem på den aktuella grenen.

git reset <file>

Tar bort <file> från staging-området men behåller arbetskatalogen oförändrad. Detta upphäver staging av filen utan att skriva över några ändringar.

git clean -n

Visar vilka filer som kommer att tas bort från arbetskatalogen. Använd flaggan -f istället för -n för att utföra städningen.

Redigera Git-historik

git commit --amend

Ändrar den senaste git commit-händelsen. Om det finns ändringar i arbetskatalogen som kan committas, kommer den senaste ändringen i arbetskatalogen också att committas tillsammans när kommandot git commit --amend används.

git rebase <base>

Återställer den aktuella grenen till <base>. <base> kan vara ett commit-ID, grennamn, tagg eller HEAD.

git reflog

Kan visa alla operationsposter för alla grenar (inklusive commits som har tagits bort och reset-operationer).

Git-grenar (Branches)

git branch

Listar alla grenar. Placera en <branch>-parameter för att skapa en ny gren med det namnet.

git checkout -b <branch>

Skapar och checkar ut en ny gren med namnet <branch>. Ta bort -b för att checka ut en befintlig gren.

git merge <branch>

Slår ihop grenen <branch> i den aktuella grenen.

Fjärrlager

git remote add <name> <url>

Lägger till ett nytt fjärrlager. När fjärrlagret har lagts till kan du använda <name> som en genväg till <url> i andra kommandon.

git fetch <remote> <branch>

Hämtar all uppdaterad information för den angivna grenen från fjärrlagret, men slår inte ihop den med den lokala grenen.

git pull <remote>

Hämtar den angivna fjärrkopian av den aktuella grenen och slår omedelbart ihop den med den lokala kopian.

git push <remote> <branch>

Puschar grenen till <remote>, samt nödvändiga commits och objekt. Om fjärrlagret inte finns skapas en namngiven gren i fjärrlagret.

git config

git config --global user.name <name>

Definierar författarnamn som ska användas för alla commits av den aktuella användaren.

git config --global user.email <email>

Definierar författarens e-postadress som ska användas för alla commits av den aktuella användaren.

git config --global alias.<alias-name> <git-command>

Skapar en genväg (alias) för ett Git-kommando.

git config --system core.editor <editor>

Ställer in textredigeraren som används av kommandon för alla användare på datorn.

git config --global --edit

Öppnar den globala konfigurationsfilen i en textredigerare för manuell redigering.

git log

git log -<limit>

Visar <limit> antal commit-historikposter.

git log --oneline

Visar commit-historiken och komprimerar varje commit till en enda rad.

git log -p

Visar commit-historiken och visar den fullständiga diffen för varje commit.

git log --stat

Visar commit-historiken, inklusive vilka filer som har ändrats och det relativa antalet rader som har lagts till eller tagits bort från varje fil.

git log --author="<pattern>"

Sök efter commits av en specifik författare.

git log --grep="<pattern>"

Sök i commit-historiken med hjälp av reguljära uttryck.

git log <since>..<until>

Visar commits som inträffade mellan <since> och <until>.

git log -- <file>

Visar endast poster i commit-historiken som innehåller den angivna filen.

git diff

git diff HEAD

Jämför skillnaderna mellan arbetskatalogen (före git add) och kodlagret (efter git commit).

git diff --cached

Jämför skillnaderna mellan staging-området (efter git add) och kodlagret (efter git commit).

git reset

git reset

Återställer staging-området så att det matchar den senaste commiten, men behåller arbetskatalogen oförändrad.

git reset --hard

Återställer staging-området och arbetskatalogen till den senaste commiten och skriver över alla ändringar i arbetskatalogen.

git reset <commit>

Flyttar den aktuella grenens pekare bakåt till <commit> och återställer staging-området, men ändrar inte arbetskatalogen.

git reset --hard <commit>

Samma som tidigare, men återställer både staging-området och arbetskatalogen. Tar bort ocommittade ändringar och alla commits efter <commit>.

git pull

git pull --rebase <remote>

Hämtar fjärrkopian av den aktuella grenen och utför en rebase på den lokala kopian. Använder git rebase istället för merge för att integrera grenen.

git push

git push <remote> --force

Tvingad pusch (force push).

git push <remote> --all

Puschar alla lokala grenar till det angivna fjärrlagret.

git push <remote> --tags

Puschar alla lokala taggar till fjärrlagret.