Intro till Git & Github
Denna guide hjälper dig att komma igång med Git och GitHub på ett smidigt sätt. Git används för att ladda upp och dela din kod med andra.
Översikt#
- Git - versionshantering, håller koll på din kod.
- GitHub - min preferens av lagring och samarbete online. (Finns andra alternativ som tex GitTea, GitLab, BitBucket, osv)
Vi kommer gå igenom följande:
- Installera Git.
- Konfigurera Git.
- Koppla Git till GitHub (med SSH).
- Din första pull, commit & push.
Steg 1: Installera Git#
Windows
- Ladda ner Git: https://git-scm.com/downloads/win
- Installera med standardinställningar.
- Använd Git Bash (installeras automatiskt).
macOS (git borde vara förinstallerat)
Testa först om Git finns: git --version
Om git inte finns:
- Installera via Homebrew: https://brew.sh
- Kör:
brew install git
Vill du inte använda homebrew? Då finns även git för mac på deras egna hemsida: https://git-scm.com/downloads
Steg 2: Konfigurera Git#
Öppna terminalen (Git Bash på Windows, Terminal på macOS) och kör de två följande kommandon:
git config --global user.name “Ditt Namn”
git config --global user.email “[email protected]”
Steg 3: Koppla Git till GitHub#
För att kunna koppla din dator till Github använder vi SSH-nycklar.
👉 Följ guiden: Skapa och Använda SSH-nyckel för GitHub
Steg 4: Ditt första Git-projekt#
- (Om du inte redan har) Skapa ett nytt repository på GitHub (t.ex.
haskell-lab1
). - Kopiera SSH-länken (ser ut som
[email protected]:username/repo.git
).- På githuben ligger detta under den gröna “<> Code” knappen.
Klona projektet i valfri mapp:
git clone [email protected]:username/repo.git
OBS: detta är ett kommando som skrivs i terminalen, det behöver bara köras 1 gång för att “ladda ned” ett repository
Steg 5: Git - Pull, Add, Commit & Push#
Nu när du har ett repository klonat så vill du kunna göra ändringar i det och ladda upp din kod till GitHub.
5.1: Hämta de senaste ändringarna#
Det första steget är nästan alltid att hämta de senaste ändringarna från GitHub.
Man vet ju aldrig om ens kompisar eller kurskamrater har lagt in något nytt i repot. Är du ensam i repot är det inte lika kritiskt, men det är ändå en bra vana.
- git pull – hämtar och applicerar de senaste ändringarna direkt i din kod.
- git fetch – hämtar ändringar men applicerar dem inte direkt. Detta är säkrare om du vill kolla igenom ändringarna först innan du blandar in dem i din kod.
👉 Är du nybörjare räcker det nästan alltid att köra(i terminalen och samma mapp som klonade repot):
git pull
5.3: Lägga till filer & ändringar i Git#
Efter att ha öppnat projektmappen i din editor (t.ex. VS Code) och ändrat, lagt till eller tagit bort filer är du klar för att spara ändringarna i Git.
För att Git ska veta vilka filer du vill spara (committa), kör:
git add filnamn.exempel
Exempelvis (git add Lab2/Blackjack.hs
)
Vill du lägga till alla ändringar utan att specificera varje fil separat (nya filer, ändrade filer, raderade filer) kan du köra:
git add .
5.4: Skapa en commit#
En commit är som en “sparpunkt” i projektet. Du måste alltid skriva ett meddelande som beskriver vad du gjort:
git commit -m "Lade till lösningen på uppgift 1"
Varje commit innehåller:
- En ögonblicksbild av koden just nu.
- Ett meddelande som beskriver vad du ändrat.
När du kör git commit -m “Lade till lösningen på uppgift 1”
händer följande:
git commit
– säger åt Git att skapa en ny commit med de filer du lagt till medgit add
.-m
– står för message. Den används för att skriva commit-meddelandet direkt i kommandot.- Texten inom citattecknen (
"Lade till lösningen på uppgift 1"
) är själva commit-meddelandet.
Varför behövs -m?#
Om du bara skriver git commit
utan -m
, så öppnas din datorns standardeditor (oftast Vim). Där får du skriva commit-meddelandet manuellt. Detta kan kännas krångligt för nybörjare.
-m
gör det enklare och snabbare, eftersom du kan skriva meddelandet direkt i kommandot.
Bra commit-meddelanden#
- Dåligt:
"ändringar"
(för otydligt) - Bättre:
"Fix av bug i inläsning av filer i code.hs"
- Bäst:
"Lade till funktion för att räkna summan av listor i program.py"
Tanken är att någon annan (eller du själv om 3 veckor) ska förstå vad ändringen gjorde.
5.5: Skicka upp dina ändringar (Push)#
Nu är det dags att skicka upp ändringarna till GitHub, detta görs med kommandot:
git push
Om allt är korrekt konfigurerat (t.ex. med SSH-nyckel) kommer ändringarna nu att laddas upp och bli synliga i repot på GitHub.
Tips#
- git status – se vad som ändrats.
- git log – visa historik.
- git pull – hämta senaste ändringar.
- git add ‘Plats/Till/Fil.hs’ – markera vad du vill spara, spara allt med (Git add . ).
- git commit -m "meddelande" – spara ändringen lokalt.
- git push – ladda upp till GitHub.