Jetzt wird es praktisch! In diesem Kapitel erstellen Sie Ihr erstes Git-Repository und lernen die wichtigsten Grundbefehle kennen.
Ein neues Repository erstellen¶
Schritt 1: Projektordner vorbereiten¶
Erstellen Sie zunächst einen Ordner für ein kleines Übungsprojekt:
mkdir mein-erstes-repo
cd mein-erstes-repoSchritt 2: Git initialisieren¶
Um Git für diesen Ordner zu aktivieren, verwenden Sie:
git initAusgabe:
Initialized empty Git repository in /Users/erika/mein-erstes-repo/.git/Sie können den .git-Ordner mit ls -la sichtbar machen (das -a zeigt
versteckte Dateien):
ls -laDie erste Datei hinzufügen¶
Eine Datei erstellen¶
Erstellen Sie eine einfache Python-Datei:
echo "print('Hallo Git!')" > hallo.pyOder erstellen Sie die Datei mit einem Texteditor Ihrer Wahl und fügen Sie folgenden Inhalt ein:
print('Hallo Git!')Status überprüfen¶
Prüfen Sie mit git status, was Git “sieht”:
git statusAusgabe:
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
hallo.py
nothing added to commit but untracked files present (use "git add" to track)Interpretation: Git hat die neue Datei hallo.py bemerkt, überwacht sie
aber noch nicht (“untracked”).
Git add: Dateien zur Staging Area hinzufügen¶
Um Git mitzuteilen, dass Sie hallo.py versionieren möchten:
git add hallo.pyPrüfen Sie erneut den Status:
git statusAusgabe:
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: hallo.pyDie Datei ist jetzt in der Staging Area und bereit für den ersten Commit!
Git commit: Den ersten Commit erstellen¶
Jetzt speichern wir die Änderung dauerhaft in der Versionsgeschichte:
git commit -m "Erste Version: Hallo-Welt-Skript hinzugefügt"Ausgabe:
[main (root-commit) a1b2c3d] Erste Version: Hallo-Welt-Skript hinzugefügt
1 file changed, 1 insertion(+)
create mode 100644 hallo.pyWas bedeutet das -m? Das -m steht für “message” (Nachricht). Die
Nachricht sollte kurz beschreiben, was in diesem Commit geändert wurde.
Status nach dem Commit¶
Prüfen Sie erneut mit git status:
git statusAusgabe:
On branch main
nothing to commit, working tree clean“Working tree clean” bedeutet: Alle Änderungen sind committed, es gibt keine offenen Änderungen.
Weitere Änderungen committen¶
Lassen Sie uns das Skript erweitern und diese Änderung als zweiten Commit speichern.
Datei ändern¶
Öffnen Sie hallo.py und ändern Sie den Inhalt:
# Mein erstes Git-Projekt
def begruessung(name):
return f"Hallo {name}, willkommen bei Git!"
print(begruessung("Welt"))Änderungen anzeigen¶
Mit git status sehen Sie:
git statusAusgabe:
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
modified: hallo.py
no changes added to commit (use "git add" and/or "git commit -a")Git hat die Änderung bemerkt, aber sie ist noch nicht in der Staging Area.
Änderung zur Staging Area hinzufügen und committen¶
git add hallo.py
git commit -m "Begrüßungsfunktion hinzugefügt"Ausgabe:
[main e4f5g6h] Begrüßungsfunktion hinzugefügt
1 file changed, 5 insertions(+), 1 deletion(-)Gute Commit-Messages schreiben¶
Commit-Messages sind wichtig für die Nachvollziehbarkeit. Hier einige Richtlinien:
Gute Commit-Messages¶
Divisionsfunktion hinzugefügt
Bugfix: Division durch Null abfangen
Dokumentation für CSV-Import erweitert
Konfigurationsdatei für Tests erstelltMerkmale guter Messages:
Kurz und prägnant (idealerweise unter 50 Zeichen)
Beschreiben, WAS geändert wurde (nicht wie oder warum – das steht im Code)
Im Imperativ (“füge hinzu”, “behebe”, nicht “hinzugefügt”, “behoben”)
Deutsch oder Englisch – bleiben Sie konsistent!
Schlechte Commit-Messages¶
Update
Änderungen
asdf
WIP
fertig gemacht
kleine AnpassungenProbleme:
Zu vage (“Änderungen” – was genau?)
Nicht aussagekräftig (“fertig gemacht” – was ist fertig?)
Unprofessionell (“asdf”)
Längere Commit-Messages¶
Für komplexere Commits können Sie eine ausführlichere Beschreibung hinzufügen:
git commit(ohne -m) öffnet Ihren konfigurierten Texteditor. Schreiben Sie:
Divisionsfunktion mit Fehlerbehandlung hinzugefügt
- Division durch Null wird abgefangen
- Rückgabe von None bei ungültigen Eingaben
- Tests für Edge-Cases ergänztFormat:
Erste Zeile: Kurze Zusammenfassung (unter 50 Zeichen)
Leerzeile
Ausführlichere Beschreibung (optional)
Der typische Git-Workflow¶
Zusammengefasst sieht ein typischer Arbeitszyklus so aus:
Workflow in Befehlen¶
# 1. Status prüfen (was wurde geändert?)
git status
# 2. Dateien zur Staging Area hinzufügen
git add dateiname.py
# 3. Commit erstellen
git commit -m "Beschreibung der Änderung"
# 4. Status erneut prüfen (alles committed?)
git statusHäufige Anfängerfehler¶
Fehler 1: Vergessen, git add zu verwenden¶
# Datei geändert, aber vergessen, sie hinzuzufügen
git commit -m "Änderungen"Ergebnis: Fehlermeldung oder leerer Commit
Lösung: Immer erst git add, dann git commit
Fehler 2: Commit ohne Message¶
git commitOhne -m öffnet sich ein Editor. Anfänger*innen schließen diesen oft, ohne
eine Commit-Message einzugeben.
Lösung: Entweder Message im Editor eingeben oder -m "Message" verwenden
Fehler 3: Ungewollte Dateien committen¶
git add .
git commit -m "Alles"Dabei werden auch temporäre Dateien, Caches oder vertrauliche Daten committed.
Lösung: Immer erst git status prüfen, dann gezielt Dateien mit git add
auswählen. Im nächsten Kapitel lernen Sie .gitignore kennen.
Zusammenfassung¶
Die wichtigsten Befehle für die ersten Schritte:
| Befehl | Beschreibung |
|---|---|
git init | Repository initialisieren |
git status | Status anzeigen (sehr wichtig!) |
git add <datei> | Datei zur Staging Area hinzufügen |
git add . | Alle Änderungen hinzufügen |
git commit -m "Text" | Commit mit Message erstellen |
Im nächsten Kapitel lernen Sie, wie Sie die Versionsgeschichte anzeigen und durch frühere Versionen navigieren können.