Moment 3: Versionshantering med Git och GitHub

Lästid: ca 12 min

Du har nu ett projekt med en isolerad Python-miljö och en beroendefil. Men vad händer när du börjar skriva kod och göra ändringar? Hur håller du reda på vad som fungerade? Och hur delar du enkelt med dig av ditt projekt till en kollega, en elev, eller hela världen? Svaret är Git och GitHub.

I detta moment tar vi det projekt vi skapade och lär oss det mest grundläggande men kraftfulla arbetsflödet inom mjukvaruutveckling: att spåra lokala ändringar med Git och sedan "skjuta upp" dem till ett fjärr-arkiv (remote repository) på GitHub. GitHub är en webbplattform som fungerar som en social hub och en molnbaserad backup för dina Git-projekt.


Vad du lär dig

Efter detta moment kommer du att kunna:

  • Initiera ett nytt Git-arkiv (repository) i ett befintligt projekt.
  • Förstå och använda det grundläggande Git-flödet: add, commit.
  • Skapa ett nytt, tomt arkiv på GitHub.
  • Koppla ihop ditt lokala arkiv med det på GitHub.
  • "Skjuta upp" (push) dina ändringar till GitHub.

Grunderna: Lokalt vs. Fjärr (Remote)

Det är viktigt att förstå skillnaden mellan Git och GitHub.

  • Git är programmet på din dator som spårar ändringar. Det är lokalt. Ditt projekt med all dess historik finns i en dold mapp som heter .git inuti din projektmapp.
  • GitHub är en webbtjänst där du kan lagra kopior av dina Git-arkiv. Det är fjärr (remote). Detta ger dig en säkerhetskopia och gör det möjligt för andra att se och samarbeta kring din kod.

Arbetsflödet är nästan alltid: Arbeta lokalt -> Spara ändringar med Git -> Skicka upp till GitHub.


Praktiska exempel: Från lokal ändring till GitHub

Vi fortsätter med det projekt vi skapade i moment 2, mitt_projekt_2.

Steg 1: Skapa ett GitHub-konto Om du inte redan har ett, gå till github.com och skapa ett gratiskonto.

Steg 2: Initiera ett lokalt Git-arkiv Navigera till din projektmapp i terminalen.

cd /sökväg/till/mitt_projekt_2

Nu säger vi till Git att börja spåra denna mapp.

git init

Git kommer att svara något i stil med "Initialized empty Git repository in...". Du har nu skapat den lokala .git-mappen.

Steg 3: Gör din första "commit" (sparade ögonblicksbild) En commit är en sparad ögonblicksbild av ditt projekt vid en specifik tidpunkt. Processen har två steg:

  1. git add: Välj vilka filer du vill inkludera i din ögonblicksbild. Vi vill inkludera vår requirements.txt-fil.
    git add requirements.txt
    
  2. git commit: Skapa själva ögonblicksbilden med en beskrivande kommentar (-m står för message).
    git commit -m "Första commit: lade till requirements"
    

Steg 4: Skapa ett nytt arkiv på GitHub

  1. Gå till din profil på GitHub och klicka på "New repository".
  2. Ge arkivet ett namn, t.ex. mitt-första-projekt.
  3. Håll det "Public" (offentligt).
  4. VIKTIGT: Bocka inte i någon av rutorna för "Add a README file", "Add .gitignore" eller "Choose a license". Vi vill ha ett helt tomt arkiv eftersom vi redan har ett lokalt.
  5. Klicka på "Create repository".

Steg 5: Koppla ihop lokalt och fjärr GitHub kommer nu att visa dig en sida med några kommandon. Vi är intresserade av den andra rutan: "...or push an existing repository from the command line". Kopiera de två kommandoraderna och klistra in dem i din terminal. De kommer se ut ungefär så här (med ditt användarnamn):

git remote add origin [https://github.com/ditt-anvandarnamn/mitt-forsta-projekt.git](https://github.com/ditt-anvandarnamn/mitt-forsta-projekt.git)
git push -u origin main
  • git remote add origin ...: Detta kommando talar om för ditt lokala Git-arkiv att det finns en "fjärr-plats" med smeknamnet origin på den angivna GitHub-adressen.
  • git push -u origin main: Detta kommando "skjuter upp" (push) din main-gren (standardgrenen) till origin.

GitHub kan be dig att logga in. Godkänn detta.

Klart! Gå tillbaka till din projektsida på GitHub och uppdatera webbläsaren. Du kommer nu att se din requirements.txt-fil där!


Övning: Gör en ändring och synkronisera

Nu ska du få se hela cykeln.

  1. Gör en ändring lokalt: Öppna projektet i VS Code. Skapa en ny fil som heter main.py. Skriv en enkel Python-rad i den, t.ex. print("Hej GitHub!"), och spara.
  2. Kontrollera status: Gå till terminalen och skriv git status. Git kommer att tala om för dig att det finns en ny, ospårad fil (main.py).
  3. Addera och committa: Kör samma process som förut för att spara din nya ändring.
    git add main.py
    git commit -m "Lade till main.py med ett hej-meddelande"
    
  4. Skjut upp ändringen: Nu när du har gjort en ny lokal commit måste du skicka upp den till GitHub.
    git push
    
    (Eftersom vi redan har kopplat ihop origin och main räcker det nu med git push).

Gå till GitHub igen och uppdatera sidan. Din nya main.py-fil finns nu där. Du har bemästrat det grundläggande arbetsflödet!


Nästa steg

Fantastiskt! Du kan nu skapa projekt, spåra ändringar och säkerhetskopiera din kod i molnet. Detta är en otroligt viktig grund. I nästa moment, Webbutveckling: Grunderna i HTML och CSS, bygger vi vidare på detta flöde och använder våra verktyg för att skapa en enkel, lokal webbsida.