Frage zu GIT

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1436
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Frage zu GIT

Beitrag von fliegermichl »

Hallo,

ich bin gerade dabei ein großes Projekt von Delphi nach Lazarus zu portieren.
Zuerst habe ich mittels

Code: Alles auswählen

git checkout -b Lazarus
einen Branch names Lazarus erzeugt.
Dann habe ich jede Menge unnütze Verzeichnisse und Dateien gelöscht und einen commit dazu erstellt.
Dann natürlich jede Menge weitere Anpassungen und commits gemacht.

Nun habe ich festgestellt, daß ich ein Verzeichnis gelöscht hatte, das doch noch gebraucht wird.

Kann mir jemand sagen, wie ich dieses gelöscht Verzeichnis in meinen aktuellsten commit bekomme?

chmod222
Beiträge: 14
Registriert: Do 19. Aug 2021, 17:29

Re: Frage zu GIT

Beitrag von chmod222 »

Gibt mehrere möglichkeiten und auch elegantere als die beiden Optionen die ich hier jetzt aufliste via rebases und anderer Spielchen die man machen kann wenn man sich mit Git gut auskennt, aber eines der folgende wird in jedem Fall funktionieren:

1. Mach einen "git revert" von dem Commit in dem du die Datei gelöscht hast, dann ist alles aus dem Commit wieder rückgängig gemacht (inklusive gelöschter Dateien) und du kannst den Ordner vom Löschen ausschließen bevor du den commit neu machst

2. Geh via "git checkout" kurz auf den Branch zurück wo der Ordner noch existiert, kopiere ihn temporär unter einen neuen Namen wie "pleasesaveme", geh wieder zurück auf deinen neuen Branch, änder den Namen zurück auf seinen ursprünglichen Namen und füge ihn via "git add" regulär hinzu.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1436
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Frage zu GIT

Beitrag von fliegermichl »

Danke für die Antwort und Lösungsmöglichkeiten.
Ich hab in der Zwischenzeit selbst auch noch weitergeforscht und man kann auch einfach

Code: Alles auswählen

git checkout <commitid> Verzeichnisname
machen.

martin_frb
Beiträge: 573
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Frage zu GIT

Beitrag von martin_frb »

https://git-scm.com/docs/git-restore

Code: Alles auswählen

git restore --source=123ABC987 /pfad/zum/wiederherstellen

Antworten