📚 Komplett Guide: Initiera Git i Nytt Projekt

Skapad: 2025-01-06
Syfte: En komplett referensguide för att skapa och konfigurera ett nytt lokalt Git-repository

🎯 Huvudproblem och Lösning

⚠ Vanligt Problem:
NÀr du skapar en ny mapp och öppnar den i Cursor/VS Code, kan IDE:t fortfarande visa ett Git-repository frÄn en överliggande mapp. Detta hÀnder eftersom Git söker uppÄt i mappstrukturen efter en .git-mapp.
✅ Lösning:
Skapa ett nytt lokalt Git-repository i din projektmapp genom att köra git init. NÀr Git hittar en .git-mapp i den nuvarande katalogen, anvÀnds denna istÀllet för överliggande repositories.

🔧 Komplett Steg-för-Steg Process

1 Konfigurera Git Globalt (Gör EN gÄng)

Innan du skapar ditt första Git-repository, konfigurera Git med dina uppgifter och preferenser:

# SĂ€tt ditt namn
git config --global user.name "Ditt Namn"

# SĂ€tt din email
git config --global user.email "din.email@example.com"

# SĂ€tt 'main' som standardbranch (VIKTIGT!)
git config --global init.defaultBranch main

# Verifiera dina instÀllningar
git config --list
💡 Varför '--global'?
--global sparar instÀllningarna för alla dina Git-repositories pÄ din dator. Du behöver bara göra detta EN gÄng!

2 Navigera till Din Projektmapp

Öppna PowerShell och navigera till mappen dĂ€r du vill skapa Git-repository:

# Byt katalog till din projektmapp
cd "D:\MittProjekt\MinApp"

# Kontrollera att du Àr i rÀtt mapp
pwd

3 Skapa .gitignore (Innan git init!)

Skapa en .gitignore-fil INNAN du initierar Git. Detta förhindrar att oönskade filer trackas:

# Skapa .gitignore med PowerShell
New-Item .gitignore -ItemType File

Exempel pÄ innehÄll i .gitignore:

# Node modules (om du anvÀnder npm/node)
node_modules/

# Build-filer
dist/
build/

# IDE och editor-filer
.vscode/
.idea/
*.swp
*.swo
*~

# OS-filer
.DS_Store
Thumbs.db
desktop.ini

# TemporÀra filer
*.log
*.tmp
.cache/

# KĂ€nslig information
.env
.env.local

4 Initiera Git Repository

Nu skapar vi det lokala Git-repository i den nuvarande mappen:

# Initiera ett nytt Git-repository
git init

# Du bör se detta meddelande:
# Initialized empty Git repository in D:/MittProjekt/MinApp/.git/
✅ Vad har hĂ€nt?

5 Gör Din Första Commit

LÀgg till dina filer och gör din första commit:

# LĂ€gg till alla filer till staging area
git add .

# Kontrollera vad som ska committas
git status

# Gör din första commit
git commit -m "Initial commit"
⚠ Om branchen heter 'master':
Om du glömde sÀtta init.defaultBranch till 'main' och din branch heter 'master', kan du byta namn EFTER första commit:
# Byt namn pÄ branchen frÄn master till main
git branch -m master main

6 Uppdatera IDE (Cursor/VS Code) - VIKTIGT!

⚠ SĂ€rskilt Viktigt NĂ€r Du Har Överliggande Git:
NĂ€r du skapar ett nytt lokalt Git-repository i en mapp som ligger under ett annat Git-repository, kommer Cursor/VS Code INTE automatiskt att uppdatera sig. Du MÅSTE tvinga IDE:t att ladda om och upptĂ€cka det nya lokala repositoryt.

✅ Rekommenderad Metod (Fungerar Alltid!):

  1. Tryck Ctrl+Shift+P för att öppna Command Palette
  2. Skriv "reload" i sökfÀltet
  3. VĂ€lj "Developer: Reload Window"
  4. VĂ€nta tills Cursor/VS Code har laddat om helt
✅ Detta Ă€r den sĂ€kraste metoden!
"Developer: Reload Window" tvingar IDE:t att starta om helt och omidentifiera alla Git-repositories. Detta fungerar sÀrskilt bra nÀr du har skapat ett nytt lokalt Git under ett överliggande repository.

Alternativa Metoder (om reload inte rÀcker):

SÄ hÀr verifierar du att det fungerade:

Kontrollera lÀngst ner till vÀnster i IDE-fönstret:

Korrekt Git branch och mapp visas i Cursor IDE

✅ SĂ„ hĂ€r ska det se ut: Branch-namnet "main" och rĂ€tt mappnamn ska visas lĂ€ngst ner i fönstret. Om du fortfarande ser ett överliggande repository-namn eller "master" istĂ€llet för "main", behöver du ladda om igen.

Vad du ska se efter reload:

💡 Pro-tips:
Om du ofta arbetar med nÀstlade Git-repositories, kom ihÄg att alltid göra "Developer: Reload Window" efter git init. Detta sparar tid och förvirring!

🌿 Master vs Main - Förklaringen

Historik och Bakgrund

'master' var det traditionella namnet pÄ huvudbranchen i Git, men detta har Àndrats av flera skÀl:

Branch-namn Status NÀr anvÀndes/anvÀnds?
master ❌ Gammalt AnvĂ€ndes som standard fram till 2020
main ✅ Modernt Ny standard sedan 2020 (GitHub, GitLab, etc.)

Varför Bytte Man?

Vad Ska Du AnvÀnda?

✅ Rekommendation: AnvĂ€nd 'main'

📋 Komplett Kommandoreferens

GrundlÀggande Kommandon för Nytt Repository

Kommando Beskrivning NĂ€r?
git init Skapar ett nytt Git-repository Första gÄngen i en ny projektmapp
git add . LĂ€gger till alla filer till staging Innan commit
git add filnamn LĂ€gger till specifik fil till staging NĂ€r du bara vill committa vissa filer
git status Visar status pÄ filer (staged, unstaged, etc.) Ofta! Innan commit, för att se vad som hÀnder
git commit -m "meddelande" Skapar en commit med ett meddelande NĂ€r du har stageat filer
git log Visar commit-historik För att se alla commits
git log --oneline Visar kompakt commit-historik För en snabb överblick

Branch-hantering

Kommando Beskrivning
git branch Listar alla branches
git branch namn Skapar en ny branch
git branch -m gammalt nytt Byter namn pÄ en branch
git branch -m main Byter namn pÄ nuvarande branch till "main"
git checkout branch-namn Byter till en annan branch
git checkout -b ny-branch Skapar och byter till ny branch
git switch branch-namn Modernt sÀtt att byta branch (Git 2.23+)
git switch -c ny-branch Skapar och byter till ny branch (modernt)

Konfigurations-kommandon

Kommando Beskrivning
git config --global user.name "Namn" SĂ€tter ditt namn globalt
git config --global user.email "email" SĂ€tter din email globalt
git config --global init.defaultBranch main SĂ€tter "main" som standardbranch
git config --list Visar alla Git-instÀllningar
git config --global --list Visar globala instÀllningar
git config user.name Visar ditt konfigurerade namn

Informations-kommandon

Kommando Beskrivning
git status Visar status pÄ working directory och staging area
git diff Visar Àndringar som inte Àr stagade
git diff --staged Visar Àndringar som Àr stagade
git log Visar commit-historik
git log --graph --oneline --all Visar grafisk commit-historik
git show Visar detaljer om senaste commit
git remote -v Visar remote repositories (om nÄgra)

✅ Checklista för Nytt Git-Repository

Innan du börjar: Initiera repository: Verifiera:

🚹 Felsökning

Problem 1: IDE visar fortfarande fel repository

Symptom: Cursor/VS Code visar commits frÄn överliggande mapp, fel branch-namn eller historik frÄn annat repository
✅ Beprövad Lösning (Fungerar i 99% av fallen):
  1. Tryck Ctrl+Shift+P
  2. Skriv "reload"
  3. VĂ€lj "Developer: Reload Window"
Detta Àr sÀrskilt viktigt nÀr du har ett överliggande Git-repository. IDE:t behöver starta om för att upptÀcka det nya lokala .git-mappen.
Om "Developer: Reload Window" inte rÀcker (sÀllsynt):
  1. Kontrollera att .git-mappen finns i din projektmapp: ls -Force (PowerShell)
  2. StÀng projektmappen och öppna den igen i IDE:t
  3. StÀng helt Cursor/VS Code och starta om

Verifiera att det fungerade:

Efter reload ska du lÀngst ner i IDE-fönstret se rÀtt branch-namn ("main") och rÀtt mappnamn. Se bild ovan för exempel.

Problem 2: Branchen heter "master" istÀllet för "main"

Symptom: Efter git init skapades branch "master"
Lösningar:
  1. Byt namn pÄ branchen: git branch -m master main
  2. SĂ€tt framtida standard: git config --global init.defaultBranch main

Problem 3: Kan inte se .git-mappen

Symptom: .git-mappen syns inte i File Explorer
Lösning:

.git Àr en dold mapp. För att se den:

Problem 4: Git hittar inte min config

Symptom: git commit ger fel om user.name eller user.email
Lösning:
# SĂ€tt namn och email
git config --global user.name "Ditt Namn"
git config --global user.email "din.email@example.com"

# Verifiera
git config --list

💡 BĂ€sta Praxis

Gör ALLTID detta nÀr du startar nytt projekt:

  1. Skapa .gitignore FÖRST - Innan git init och första commit
  2. AnvÀnd 'main' som branch-namn - Modern standard
  3. Skriv tydliga commit-meddelanden - Börja med verb ("Add", "Fix", "Update")
  4. Committa tidigt och ofta - SmÄ, logiska commits Àr bÀttre Àn stora
  5. Kontrollera med git status - Innan VARJE commit
  6. Ha en README.md - Beskriv projektet

PowerShell-tips för Git:

cd mapp
git init

Eller anvÀnd semikolon:

cd mapp; git init

📚 Sammanfattning - Snabbguide

Komplett kommandosekvens för nytt projekt:

# 1. EngÄngskonfiguration (om inte redan gjort)
git config --global user.name "Ditt Namn"
git config --global user.email "din.email@example.com"
git config --global init.defaultBranch main

# 2. Navigera till projektmapp
cd "D:\MittProjekt"

# 3. Skapa .gitignore (anvÀnd editor eller New-Item)
New-Item .gitignore -ItemType File
# Redigera .gitignore med dina ignorer-regler

# 4. Initiera Git
git init

# 5. LĂ€gg till filer och committa
git add .
git status
git commit -m "Initial commit"

# 6. Verifiera
git branch
git log --oneline
git status

🔗 Viktiga Resurser

📝 Dokumentet skapad av Kent Lundgren

Senast uppdaterad: 2025-01-06

Senaste uppdatering: Lade till viktig information om "Developer: Reload Window" och visualisering av korrekt Git-branch i IDE:t

AnvÀnd denna guide som referens nÀr du skapar nya Git-repositories!