Snabbreferens för Git-kommandon
Git spårar ändringar i dina filer som en serie commits i ett repository. Dessa kommandon täcker det dagliga flödet: starta ett repo, spara arbete, grenar, sammanfogning och delning med en fjärr. Håll detta blad öppet medan du lär dig.
| Kommando | Vad den gör |
|---|---|
| git init | Create a new, empty Git repository in the current directory. |
| git clone | Download a remote repository and its full history to your machine. |
| git status | Show changed, staged and untracked files in the working tree. |
| git add | Stage changes (files) to be included in the next commit. |
| git commit | Record staged changes as a new commit with a message. |
| git log | Display the commit history of the repository. |
| git diff | Show unstaged or staged differences between states. |
| git branch | List, create or delete branches in the repository. |
| git checkout / switch | Switch branches or restore files (switch is the modern command). |
| git merge | Join another branch's history into the current branch. |
| git rebase | Reapply commits on top of another base commit, rewriting history. |
| git pull | Fetch from a remote and merge the changes into the current branch. |
| git push | Upload local commits to a remote repository. |
| git stash | Temporarily shelve uncommitted changes to reapply later. |
| git remote | Manage the set of remote repositories you track. |
Anteckningar
- De flesta kommandon accepterar flaggor (som -m för meddelande eller -a för alla); kör 'git help <kommando>' för hela listan.
- Grennamn är billiga och bortkastbara — commita ofta på en feature-gren och mergea sedan till main.
- Innan destruktiva kommandon som rebase eller reset, se till att ditt arbete är commitat eller stashat.
Vanliga frågor
- Vad är skillnaden mellan merge och rebase?
- Merge kombinerar historiker med en ny commit som har två föräldrar. Rebase spelar upp dina commits ovanpå en annan gren, vilket ger en linjär historik men skriver om commit-ID:n.
- Hur ångrar jag en commit?
- Använd 'git revert <commit>' för att lägga till en ny commit som ångrar ändringen (säkert, delad historik). 'git reset' skriver om historiken och bör inte användas på delade grenar.
- Vad är skillnaden mellan git pull och git fetch?
- Fetch laddar ner commits och referenser från en fjärr utan att röra ditt arbetslager. Pull gör en fetch och mergear eller rebasar sedan ändringarna in i din nuvarande gren.
- När ska jag använda git stash?
- Stash lägger tillfälligt undan ej commitade ändringar så att du kan byta gren eller hämta rent, och återställer dem senare med 'git stash pop'.