Cursor Praxisprojekt-07-Git-Tutorial-Erstellung
Projektbeschreibung
Cursor Praxisprojekt-07-Git-Tutorial-Erstellung
Zeitaufwand: ca. 2-3 Stunden
Cursor-Nutzung: etwa 10 Mal
In diesem Projekt dokumentiere ich, wie ich Cursor als AI-Programmierassistent nutze, um basierend auf einem detaillierten Anforderungsdokument für Git-Befehle ein vollständiges, hochwertiges, projektgetriebenes zweisprachiges Git-Tutorial von Grund auf zu erstellen.
Mein Ziel ist es zu testen und zu zeigen, wie man AI dazu anleitet, Tutorials für gewünschte Programmierkenntnisse zu generieren, um durch das Modell selbstgesteuertes Lernen zu ermöglichen und den traditionellen Prozess des manuellen Suchens, Zusammenstellens und Erstellens von Materialien zu ersetzen.
Diese Methode kann auf das Lernen jeglicher Programmierkenntnisse ausgeweitet werden - minimales notwendiges Wissen, projektgetrieben.
Ergebnispräsentation
-
Erfolgreiche Erstellung eines strukturierten, inhaltsreichen mehrteiligen Git-Tutorials mit Cursor, bestehend aus Lektionen, Übungen und unabhängigen Praxisprojekten, alles in vordefiniertem zweisprachigem Format.
- Einhaltung von minimal notwendigem Wissen, projektgetrieben, zweisprachigem Format, inhaltsreich, strukturell vollständig
- Finales Projekt umfasst über 40 Markdown-Dateien in klarer Verzeichnisstruktur.
- Inhalte reichen von Git-Grundlagen, Versionsverwaltung, Branches, Remote-Zusammenarbeit bis zu fortgeschrittenen Operationen - ein kompletter Lernpfad.
Vorbereitung
-
Cursor
- Version: 1.2.4
- Cursor-Regeln: Cursor Rules
- Agent: claude-4-sonnet-thinking
- Projektregeln: cursorpractice-06-10xUse
-
Gesamtprozess
-
- Cursor-Regeln festlegen -> Projektregeln (10xUse) setzen -> Anforderungen mit LLM abstimmen -> Cursor-Codierung -> Debugging-Ausgabe
-
Problemdokumentation
-
Problem 1: Während der Tutorial-Erstellung verliert Cursor leicht den Kontext, was zu Inkonsistenzen zwischen Kapiteln führt
- Kontextvorgabe: Tutorial-Rootverzeichnis enthält README mit Gesamtbeschreibung, jedes Kapitel hat eigene README
- Cursor anweisen, diese READMEs und Projektdokumente vor der Erstellung zu lesen
-
Problem 2: Bei großen Dokumenten (>2000 Zeilen) bricht Cursor leicht ab, besonders bei Code-Beispielen
- Vorgabe: Minimal notwendig, Code-Beispiele separieren, projektgetrieben
- Lange Dokumente schrittweise bearbeiten
Erfahrungsbericht
- Effektive Nutzung von 10xUse reduziert Cursor-Nutzung
- Anweisungen müssen Kontext enthalten, sonst verliert Cursor diesen leicht. READMEs einbinden.
- Programmier-Tutorials enthalten zwangsläufig Code - unbedingt separat halten, eigenständige Übungen
Detaillierte Projektschritte
-
Initialanweisung: Zuerst übergab ich Cursor die Kernanforderungsdatei
pj-requirement.md
und bat um Zusammenfassung, um das Grundverständnis zu prüfen. -
Projektdokumentation und Tutorial-Index generieren: Cursor erstellt Projektdokumentation und Tutorial-Index. Beginnt mit Kapitel 1.
-
Unterbrechungsfreie Fortsetzung: Wenn Cursor den ersten Request beenden möchte, Regelbefehl aufrufen, um Generierung fortzusetzen.
-
Weitere Generierung: Einzelner Request erzeugt schließlich zwei Kapitel inklusive Übungen.
-
Abschluss weiterer Kapitel: Cursor vervollständigt restliche Kapitel.
-
Zusammenfassung gängiger Git-Befehle und Szenarien: Cursor erstellt Git-Befehlsreferenz.
-
Projektdokumentation und Tutorial-Index generieren: Cursor erstellt Projektdokumentation und Tutorial-Index. Beginnt mit Kapitel 1.
Git Befehlsreferenz
Diese Referenz fasst die am häufigsten verwendeten Git-Befehle für den schnellen Überblick zusammen.
Inhaltsverzeichnis
- Grundlegende Operationen
- Versionsverwaltung
- Branch-Operationen
- Remote-Zusammenarbeit
- Fortgeschrittene Befehle
- Häufige Szenarien und Lösungen
Grundlegende Operationen
Befehl | Beschreibung |
---|---|
git init | Initialisiert ein neues Git-Repository im aktuellen Verzeichnis. |
git clone [url] | Klont ein Remote-Repository lokal. |
git status | Zeigt den Status von Arbeitsverzeichnis und Staging-Area. |
Versionsverwaltung
Befehl | Beschreibung |
---|---|
git add [file] | Fügt Änderungen zur Staging-Area hinzu. . statt [file] fügt alle Änderungen hinzu. |
git commit -m "[Nachricht]" | Committet Staging-Inhalte ins lokale Repository mit Commit-Nachricht. |
git log | Zeigt Commit-Historie. |
git diff | Zeigt Unterschiede zwischen Arbeitsverzeichnis und Staging-Area. |
git diff --staged | Zeigt Unterschiede zwischen Staging-Area und letztem Commit. |
git reset [file] | Entfernt Datei aus Staging-Area, behält Arbeitsänderungen. |
git checkout -- [file] | Verwirft Arbeitsänderungen, stellt letzten Commit-Zustand wieder her. |
Branch-Operationen
Befehl | Beschreibung |
---|---|
git branch | Listet alle lokalen Branches auf. |
git branch [branch-name] | Erstellt neuen Branch. |
git checkout [branch-name] | Wechselt zu angegebenem Branch. |
git checkout -b [branch-name] | Erstellt und wechselt sofort zu neuem Branch. |
git merge [branch-name] | Führt Historie des angegebenen Branches in aktuellen Branch zusammen. |
git branch -d [branch-name] | Löscht bereits zusammengeführten Branch. |
Remote-Zusammenarbeit
Befehl | Beschreibung |
---|---|
git remote -v | Zeigt Details aller Remote-Repositories. |
git remote add [name] [url] | Fügt neues Remote-Repository hinzu. |
git fetch [remote-name] | Lädt neueste Historie vom Remote, ohne Zusammenführung. |
git pull [remote-name] [branch-name] | Holt neuesten Code vom Remote und führt in aktuellen Branch zusammen. |
git push [remote-name] [branch-name] | Pusht lokale Commits zum Remote-Repository. |
Fortgeschrittene Befehle
Befehl | Beschreibung |
---|---|
git rebase [branch-name] | Rebasier aktuelle Branch-Commits auf angegebenen Branch. |
git tag [tag-name] | Erstellt Lightweight-Tag für aktuellen Commit. |
git tag -a [tag-name] -m "[Nachricht]" | Erstellt annotierten Tag. |
git submodule add [repository-url] [path] | Fügt Submodul hinzu. |
git stash | Temporäres Speichern von Arbeitsänderungen. |
git stash pop | Stellt zuletzt gespeicherte Änderungen wieder her. |
Häufige Szenarien und Lösungen
Lösungen für typische Entwicklungsprobleme.
Szenario | Lösung |
---|---|
1. Falsche Commit-Nachricht korrigieren | git commit --amend -m "Neue Commit-Nachricht" (Achtung: Bei bereits gepushten Commits vorsichtig sein) |
2. Letzten Commit rückgängig machen | git reset --soft HEAD~1 (Commit rückgängig, aber Änderungen behalten) |
3. Alle lokalen Änderungen verwerfen | git checkout -- . (Verwirft alle nicht gestagten Änderungen) |
4. Bestimmten Commit in aktuellen Branch übernehmen | git cherry-pick [commit-hash] (Übernimmt spezifischen Commit) |
5. Falschen Merge rückgängig machen | git reset --hard ORIG_HEAD (Zurück zum Zustand vor Merge) |
6. Ungetrackte Dateien bereinigen | git clean -fd (Erzwingt Löschung ungetrackter Dateien/Verzeichnisse) |
7. Änderungshistorie einer Datei anzeigen | git log -p [datei-pfad] (Detaillierte Commit-Historie der Datei) |
8. Lokaler Branch hinter Remote zurück, Synchronisation nötig | git fetch origin git reset --hard origin/[branch-name] (Erzwingt lokale Aktualisierung mit Remote) |
9. Temporärer Task-Wechsel ohne Commit | git stash (Aktuellen Stand speichern) git stash pop (Gespeicherten Stand wiederherstellen) |
10. Autor einer Codezeile finden | git blame [datei-pfad] (Zeigt pro Zeile Autor und letzten Commit) |