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 statusListar vilka filer som är i stadium (staged), ej i stadium (unstaged) och ej spårade (untracked).
git logVisar hela commit-historiken med standardformatet.
git diffJä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 -nVisar 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 reflogKan visa alla operationsposter för alla grenar (inklusive commits som har tagits bort och reset-operationer).
Git-grenar (Branches)
git branchListar 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 --onelineVisar commit-historiken och komprimerar varje commit till en enda rad.
git log -pVisar commit-historiken och visar den fullständiga diffen för varje commit.
git log --statVisar 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 HEADJämför skillnaderna mellan arbetskatalogen (före git add) och kodlagret (efter git commit).
git diff --cachedJä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> --forceTvingad pusch (force push).
git push <remote> --allPuschar alla lokala grenar till det angivna fjärrlagret.
git push <remote> --tagsPuschar alla lokala taggar till fjärrlagret.