Einrichtung
Installation und GitHub-Einrichtung
# Git installieren (Windows, macOS, Linux je nach System)
# Bei GitHub registrieren unter github.com
# SSH-Schlüssel für GitHub erstellen
ssh-keygen -t ed25519 -C "gajic.strahinja@mediamagneten.de" -f /u/.ssh/id_mediamagneten_kurs_git
# SSH-Agent starten
eval "$(ssh-agent -s)"
# SSH-Schlüssel in der SSH-Agent einfügen
ssh-add /u/.ssh/id_mediamagneten_kurs_git
# Öffentlichen Schlüssel anzeigen und in GitHub einfügen
cat /u/.ssh/id_mediamagneten_kurs_git.pub
# Kopiere den Schlüssel und füge ihn in GitHub unter Settings > SSH Keys ein
Git-Konfiguration
# Git-Version überprüfen
git --version
# Konfiguration anzeigen
git config --list
# Benutzernamen und E-Mail anzeigen
git config --get user.name
git config --get user.email
# Benutzername und E-Mail einrichten
git config --add --global user.name "github_benutzernamen_hier"
git config --add --global user.email "email@mediamagneten.de"
# Standard-Branch auf "main" setzen
git config --global init.defaultBranch main
# Konfigurationsdatei anzeigen
cat ~/.gitconfig
Grundlegende Konzepte
-
G
Git: Von Linus Torvalds entwickeltes dezentrales Versionskontrollsystem
-
H
HEAD: Zeiger auf den aktuellen Commit und Branch (wo wir uns gerade befinden)
-
C
Commit-Hash: Eindeutige SHA-Identifikation jedes Commits
-
S
Datei-Status:
- untracked: Datei wird noch nicht von Git verfolgt
- staged: Datei ist für den nächsten Commit vorgemerkt
- committed: Datei wurde im Repository-Verlauf gespeichert
Typischer Arbeitsablauf (99% der täglichen Arbeit)
Neues Projekt erstellen
# Neues Verzeichnis initialisieren
mkdir projektname
cd projektname
git init
# Erste Datei erstellen
echo "# mediamagneten-gitkurs" >> README.md
# Datei zum Staging hinzufügen
git add README.md
# Änderungen committen
git commit -m "first commit"
# Branch auf "main" umbenennen
git branch -M main
# Remote-Repository hinzufügen
git remote add origin git@github.com:StrahinjaG/mediamagneten-gitkurs.git
# Zum Remote-Repository pushen
git push -u origin main
Tägliche Befehle
# Status der Dateien anzeigen
git status
# Dateien für den nächsten Commit vormerken
git add . # Alle Änderungen vormerken
git add dateiname.txt # Einzelne Datei vormerken
# Änderungen committen (immer mit Nachricht!)
git commit -m "Beschreibung der Änderungen"
# Änderungen zum Remote-Repository hochladen
git push
# Änderungen vom Remote-Repository herunterladen
git pull
# Commit-Historie anzeigen
git log
# Zu einem bestimmten Commit zurückkehren (alle Änderungen verwerfen)
git reset --hard COMMIT_HASH
Branches
# Aktuelle Branches anzeigen
git branch
# Neuen Branch erstellen und dorthin wechseln
git switch -c "neues_design_branch"
# Branch löschen
git branch -d branch-name # Mit Warnung
git branch -D branch-name # Ohne Warnung
Remote-Repositories
# Remote-Repository hinzufügen
git remote add
# Beispiel:
git remote add origin git@github.com:StrahinjaG/mediamagneten-gitkurs.git