Du har sett noen skrive git add . og git commit -m i terminalen så fort at det ser ut som en refleks. Det er det også. En håndfull Git-kommandoer dekker nesten alt du gjør i løpet av en arbeidsdag, og hver av dem tilsvarer en knapp du kanskje allerede har trykket på i GitHub Desktop.
git status, add og commit
git status forteller hva som har skjedd siden sist: hvilke filer som er nye, hvilke som er endret, og hvilke som er klare til å lagres. Kjør den ofte. Den gir nesten alltid et hint om hva neste kommando bør være.
Med git add velger du hva som skal være med i neste commit. Det kalles å stage endringene. git add . tar med alt, mens git add index.html bare tar med én fil. Det er det samme som avkrysningsboksene ved hver fil i GitHub Desktop. git commit -m "melding" lagrer det du har staget som én navngitt endring i historikken.
Tips: Skriv commit-meldingen som det endringen gjør, for eksempel «Legg til meny i headeren». Om et halvt år er det meldingene du leser når du leter etter når noe gikk galt.
git log, show og diff
Historikken du ser i fanen History i GitHub Desktop finnes også i terminalen. git log lister alle commits med forfatter, dato, melding og en lang ID. Kopierer du ID-en og skriver git show etterfulgt av den, ser du nøyaktig hvilke linjer den commiten la til og fjernet.
git diff viser det du har endret, men ennå ikke committet. Linjer med pluss er lagt til, linjer med minus er fjernet, akkurat som det grønne og røde i GitHub Desktop. Trykk Q for å gå ut av visningen når listen er lang.
push, fetch og pull
Commits ligger på maskinen din til du kjører git push. Da lastes de opp til GitHub. Du trenger ikke pushe etter hver commit. Det er vanlig å samle flere commits og pushe når en oppgave er ferdig.
Andre veien går med git fetch og git pull. Fetch henter ned det andre har gjort, uten å røre filene dine, og git status forteller deg da at du ligger bak. Pull henter og slår sammen i én operasjon, slik at endringene havner i koden din.
| Kommando | Hva den gjør | Knappen i GitHub Desktop |
|---|---|---|
| git status | Viser hva som er endret | Fanen Changes |
| git add | Velger endringer til neste commit | Avkrysningsboksene |
| git commit -m | Lagrer en navngitt endring lokalt | Commit to main |
| git push | Laster opp commits til GitHub | Push origin |
| git fetch | Henter andres endringer uten å slå dem sammen | Fetch origin |
| git pull | Henter og slår sammen | Pull origin |
| git log | Viser historikken | Fanen History |
Når du vil legge bort endringene
Noen ganger har du begynt på noe som ikke blir bra, eller du må hente kollegaenes endringer før du er ferdig med dine egne. git stash legger de uferdige endringene til side, slik at mappen blir ren igjen. Det er en hylle, ikke en papirkurv. Med git stash pop henter du dem tilbake. Vil du kaste endringene i én fil for godt, er git restore etterfulgt av filnavnet den moderne kommandoen.
Fra artikler til nettkurs
Kommandoene her er hentet fra kurset Git og GitHub på Utdannet.no. I kurset kjøres hver kommando side om side med GitHub Desktop, slik at du ser hva som skjer begge steder, og en annen bruker gjør endringer underveis så du får øvd på fetch og pull med ekte endringer. Kapittelet avsluttes med spørsmålskort og quiz på kommandoene.



