Logo Introduction to functional programming - Haskell

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:

  1. Installera Git.
  2. Konfigurera Git.
  3. Koppla Git till GitHub (med SSH).
  4. Din första pull, commit & push.

Steg 1: Installera Git#

Windows

  1. Ladda ner Git: https://git-scm.com/downloads/win
  2. Installera med standardinställningar.
  3. Använd Git Bash (installeras automatiskt).

macOS (git borde vara förinstallerat)
Testa först om Git finns: git --version

Om git inte finns:

  1. Installera via Homebrew: https://brew.sh
  2. 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#

  1. (Om du inte redan har) Skapa ett nytt repository på GitHub (t.ex. haskell-lab1).
  2. Kopiera SSH-länken (ser ut som [email protected]:username/repo.git).
    1. På githuben ligger detta under den gröna “<> Code” knappen. 
  3. 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 med git 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.