====== Alte Version ansehen/wiederherstellen ====== ===== Eine ältere Version nur ansehen (ohne etwas kaputt zu machen) ===== Ideal, wenn du nur prüfen willst, wie der Stand früher war. ==== Vorgehen: ==== - //Git Extensions// → //**Repository Browser**// - Commit auswählen - Rechtsklick → //**Checkout revision**//\\ → Du landest im Detached HEAD (kein Branch). - Dateien ansehen, vergleichen, exportieren. ==== Wichtig: ==== In diesem Modus solltest du **keine Arbeit fortsetzen**, weil du nicht auf einem Branch bist. ====== Eine ältere Version wiederherstellen und damit weiterarbeiten (empfohlen) ====== Das ist der typische Fall: „Ich will zu einem alten Stand zurück und ab dort weiterentwickeln.“ ==== Vorgehen: ==== - //Git Extensions// → //**Repository Browser**// - Commit auswählen - Rechtsklick → //**Create new branch from revision**// - Namen vergeben, z. B. restore-2024-12-commit123 - Branch //**checkouten**// - Jetzt normal weiterarbeiten → //**Commit**// → //**Push**// ==== Ergebnis: ==== * Du hast einen neuen Branch, der exakt auf dem alten Stand basiert. * Der alte ''main'' bleibt unverändert. * Du kannst später wieder mergen, wenn du willst. ====== Den aktuellen Branch auf eine ältere Version zurücksetzen (Hard Reset) ====== Das ist die „starke“ Variante: Der Branch (z. B. main) wird auf den alten Stand zurückgesetzt, als wären alle neueren Commits nie passiert. ==== Vorgehen: ==== - //Git Extensions// → //**Repository Browser**// - Commit auswählen - Rechtsklick → //**Reset current branch to this commit**// - Art auswählen: * **Hard Reset** → Arbeitsverzeichnis wird ebenfalls zurückgesetzt * **Soft Reset** → Arbeitsverzeichnis bleibt, nur HEAD springt zurück * **Mixed Reset** → Index wird zurückgesetzt, Dateien bleiben ==== Danach: ==== * Weiterarbeiten * Commit * Push (__Achtung:__ Push überschreibt den Remote‑Branch → //**Force Push**// nötig) ==== Warnung: ==== * Hard Reset + Force Push verändert die Historie. * Bei Solo‑Projekten ok, bei Teamprojekten kritisch. ====== Eine einzelne Datei aus einer älteren Version wiederherstellen ====== Falls du nur eine Datei zurückholen willst. ==== Vorgehen: ==== - Git Extensions → Repository Browser - Commit auswählen - Datei rechtsklicken → //**Checkout file**// - Commit → Push ===== Wiederherstellung über Gitea (Weboberfläche) ===== Falls du lieber im Browser arbeitest. ==== Vorgehen: ==== - Gitea → Repository → //Commits// - Commit öffnen - //Browse files// - Datei herunterladen oder direkt vergleichen - Lokal ersetzen → Commit → Push ====== Welche Methode ist für dich optimal? ====== ^ Ziel ^ Beste Methode ^ | Alte Version ansehen | Detached HEAD | |Alte Version als neue Arbeitsbasis | **Neuen Branch aus altem Commit erstellen** | |Branch komplett zurücksetzen | Hard Reset | |Einzelne Datei wiederherstellen | Checkout file |