- 1 Section
- 10 Lessons
- unbegrenzt
- Versionsverwaltung mit Git10
Grundlegende Befehle: init, add, commit, status, log
In L2 hast du die Begriffe gelernt – Repository, Commit, Branch, Staging Area. Diese Lektion zeigt die fünf wichtigsten Befehle in Aktion: git init, git status, git add, git commit, git log. Dazu git diff und die Erstkonfiguration. Damit kannst du lokal arbeiten – Remotes (push/pull) folgen in L4.
Wir bauen eine Mini-Historie Schritt für Schritt im Terminal-Simulator unten. Klick durch die Befehle und sieh, wie sich der Repo-Status verändert. Wer einen Linux-Rechner zur Hand hat: tipp parallel mit – das ist die beste Art, Git zu lernen.
1) Erstkonfiguration – einmal pro Rechner
Bevor du den ersten Commit machst, muss Git wissen, wer du bist. Diese Daten landen in jedem Commit, den du machst:
~/.gitconfig (Linux/Mac) bzw. C:\Users\<Name>\.gitconfig (Windows). --global = gilt für alle Repos auf dem Rechner. Ohne --global nur für das aktuelle Repo. Wichtig: die E-Mail muss zu deinem GitHub-Account passen, sonst werden Commits dort nicht dir zugeordnet.2) Terminal-Simulator – die fünf Kern-Befehle live
Spiel mit der Mini-Demo durch. Jeder Klick führt einen Befehl aus, die Ausgabe siehst du wie in einem echten Terminal:
3) Die Befehlsreferenz
Hier die Befehle aus dem Simulator als kompakte Referenz:
.git/ an). Einmaliger Schritt zum Projektstart. Alternative: git clone <url> – wenn das Repo schon irgendwo existiert.git status -s.git add . = alle geänderten Dateien. git add -p = patch-mode, einzelne Hunks staging.-am = add + commit in einem (nur bei bereits getrackten Dateien!).git log --oneline = kompakt. git log --graph --all = mit Branches als ASCII-Graph. git log -p = mit Diffs.git diff --staged = was ist staged. git diff main feature = Branches vergleichen.git restore --staged <datei>.git status, git add, git commit und git log nutzt du mehrmals täglich. Tipp: leg dir Shell-Aliase an. alias gs='git status', alias gp='git push' sparen viel Zeit.4) .gitignore – Dateien aussperren
Manche Dateien sollen nie ins Repo: Build-Output, Dependencies, IDE-Konfig, Secrets, Cache-Dateien. Lösung: .gitignore, eine Textdatei im Repo-Root:
github.com/github/gitignore. Achtung: Wenn eine Datei bereits getrackt ist, hilft .gitignore nicht mehr – erst git rm --cached <datei> ausführen, dann ignorieren.5) Gute Commit-Messages
Eine Commit-Nachricht ist deine Erklärung für die Zukunft: warum habe ich das gemacht? Schlechte Messages („update", „fix") machen die Historie wertlos. Gute Messages sind Gold.
feat, fix, refactor, docs, test, chore, style), dann ein Doppelpunkt, dann eine kurze Beschreibung. Wird von vielen Tools verstanden (automatische Changelog-Generierung, Release-Versionierung). In professionellen Projekten Standard.6) Anatomie einer guten Commit-Message
git commit ohne -m öffnet sich der konfigurierte Editor, dort kannst du mehrzeilig schreiben.7) Commit-Typen nach Conventional Commits
feat: Suchfunktion in Produktliste".fix: NullPointer bei leerem Warenkorb".8) Häufige Anfänger-Befehle für Notfälle
Vier Befehle, die du irgendwann brauchst – meist nach Tippfehlern:
git commit --amend– Letzten Commit korrigieren (Message ändern oder vergessene Dateien nachreichen). Nur wenn noch nicht gepusht!git restore <datei>– Änderungen einer Datei verwerfen, zurück zum letzten Commit-Stand.git restore --staged <datei>– Datei aus der Staging Area entfernen (Änderung bleibt).git reset --soft HEAD~1– Letzten Commit rückgängig machen, Änderungen bleiben staged.--hardwirft alles weg (gefährlich!).
Goldene Regel: Was committed und gepusht ist, kann man fast immer wiederherstellen. Was noch nicht committed ist, wird beim falschen Befehl unwiederbringlich gelöscht. Im Zweifel: git status, dann lieber jemanden fragen.
9) git diff verstehen
Die Ausgabe von git diff sieht zunächst kryptisch aus. So liest du sie:
--- alte Datei, +++ neue Datei, @@ Position-Hunk-Header, - (rot) entfernt, + (grün) hinzugefügt. In GitHub-UI und in IDE-Diffs schöner dargestellt. Wer einen Pull Request reviewt, liest stundenlang Diffs – Übung lohnt sich.10) Tipps für die ersten Tage
- Klein und früh committen. Lieber 5 kleine Commits als einer mit 50 Änderungen. Macht Reviews und Reverts einfacher.
- git status, git status, git status. Bei jedem Schritt prüfen, was passiert.
- Nicht alles auf einmal stagen. Wenn du an mehreren Themen arbeitest: pro Thema einen Commit.
git add -philft beim selektiven Stagen. - Pause vor dem Push. Bevor du pushst: nochmal mit
git log --onelinedie Commits ansehen. Stimmt das alles? - Nichts geheimes commiten. Passwörter, API-Keys, Tokens – einmal im Repo, schwer wieder los.
.gitignore+ Tools wie git-secrets schützen. - Eigene Spielwiese. Leg ein Test-Repo lokal an und probier alles aus:
mkdir test-repo && cd test-repo && git init.
Zusammenfassung
Workflow: Code schreiben → git status → git add → git commit -m "..." → git log. Erstkonfig: user.name, user.email einmal pro Rechner. .gitignore für ignorierte Dateien (node_modules, .env, target/). Conventional Commits: feat:, fix:, refactor:, docs:, test:, chore:. Undo: git restore (Working Directory), git restore --staged (Stage), git commit --amend (letzten Commit). Nächste Lektion: Remotes – clone, push, pull, fetch.
