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.

    Ergebnisanimation
    • 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

  • Gesamtprozess

      • Cursor-Regeln festlegen -> Projektregeln (10xUse) setzen -> Anforderungen mit LLM abstimmen -> Cursor-Codierung -> Debugging-Ausgabe

Problemdokumentation

  1. 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
  2. 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

  1. Effektive Nutzung von 10xUse reduziert Cursor-Nutzung
  2. Anweisungen müssen Kontext enthalten, sonst verliert Cursor diesen leicht. READMEs einbinden.
  3. Programmier-Tutorials enthalten zwangsläufig Code - unbedingt separat halten, eigenständige Übungen

Detaillierte Projektschritte

  1. Initialanweisung: Zuerst übergab ich Cursor die Kernanforderungsdatei pj-requirement.md und bat um Zusammenfassung, um das Grundverständnis zu prüfen.

    Schritt-1
  2. Projektdokumentation und Tutorial-Index generieren: Cursor erstellt Projektdokumentation und Tutorial-Index. Beginnt mit Kapitel 1.

    Schritt-2
  3. Unterbrechungsfreie Fortsetzung: Wenn Cursor den ersten Request beenden möchte, Regelbefehl aufrufen, um Generierung fortzusetzen.

    Schritt-3
  4. Weitere Generierung: Einzelner Request erzeugt schließlich zwei Kapitel inklusive Übungen.

    Schritt-4
  5. Abschluss weiterer Kapitel: Cursor vervollständigt restliche Kapitel.

  6. Zusammenfassung gängiger Git-Befehle und Szenarien: Cursor erstellt Git-Befehlsreferenz.

    Git-Befehlsreferenz

  7. 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

BefehlBeschreibung
git initInitialisiert ein neues Git-Repository im aktuellen Verzeichnis.
git clone [url]Klont ein Remote-Repository lokal.
git statusZeigt den Status von Arbeitsverzeichnis und Staging-Area.

Versionsverwaltung

BefehlBeschreibung
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 logZeigt Commit-Historie.
git diffZeigt Unterschiede zwischen Arbeitsverzeichnis und Staging-Area.
git diff --stagedZeigt 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

BefehlBeschreibung
git branchListet 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

BefehlBeschreibung
git remote -vZeigt 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

BefehlBeschreibung
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 stashTemporäres Speichern von Arbeitsänderungen.
git stash popStellt zuletzt gespeicherte Änderungen wieder her.

Häufige Szenarien und Lösungen

Lösungen für typische Entwicklungsprobleme.

SzenarioLösung
1. Falsche Commit-Nachricht korrigierengit commit --amend -m "Neue Commit-Nachricht"
(Achtung: Bei bereits gepushten Commits vorsichtig sein)
2. Letzten Commit rückgängig machengit reset --soft HEAD~1
(Commit rückgängig, aber Änderungen behalten)
3. Alle lokalen Änderungen verwerfengit checkout -- .
(Verwirft alle nicht gestagten Änderungen)
4. Bestimmten Commit in aktuellen Branch übernehmengit cherry-pick [commit-hash]
(Übernimmt spezifischen Commit)
5. Falschen Merge rückgängig machengit reset --hard ORIG_HEAD
(Zurück zum Zustand vor Merge)
6. Ungetrackte Dateien bereinigengit clean -fd
(Erzwingt Löschung ungetrackter Dateien/Verzeichnisse)
7. Änderungshistorie einer Datei anzeigengit log -p [datei-pfad]
(Detaillierte Commit-Historie der Datei)
8. Lokaler Branch hinter Remote zurück, Synchronisation nötiggit fetch origin
git reset --hard origin/[branch-name]
(Erzwingt lokale Aktualisierung mit Remote)
9. Temporärer Task-Wechsel ohne Commitgit stash
(Aktuellen Stand speichern)
git stash pop
(Gespeicherten Stand wiederherstellen)
10. Autor einer Codezeile findengit blame [datei-pfad]
(Zeigt pro Zeile Autor und letzten Commit)