Ja, Sie können dies tun, und es sollte keine Probleme verursachen.
Alles, was Git benötigt, um Ihren Versionsverlauf zu verfolgen, befindet sich im Ordner .git
. Wenn Sie also diesen Ordner durch eine ältere Version dieses Ordners ersetzen, wird Ihr Repo auf diesen älteren Status zurückgesetzt. Im Gegensatz zu mit einem Git Rollback mit git checkout
oder git revert
, werden Sie auch verlieren alle Geschichte, die seit dem Repo seitdem hinzugefügt wurde.
Um sicher zu sein, wie @Danh suggested, sollten Sie die vorhandene Version des Ordners löschen, bevor Sie die Sicherung wiederherstellen. (Da Git-Objekte unveränderlich sind, bin ich mir nicht sicher, ob dies notwendig ist. Es sollte aber nicht schaden.) Wenn Sie nicht riskieren möchten, Daten aus der vorhandenen Version des Ordners zu verlieren, können Sie auch verschieben oder benennen Sie es um und stellen Sie die Sicherung wieder her.
Je nachdem, was Sie mit "alle verschmutzt" meinen, ist es möglicherweise immer noch möglich, ohne Wiederherstellung von der Sicherung wiederherzustellen (besonders wenn Sie keine "gefährlichen" Befehle ausgeführt haben, wie etwa irgendetwas mit --force
). Fühlen Sie sich frei zu search around oder ask here, wenn Sie Hilfe benötigen!
Warum "git checkout" die gestrige Version nicht? – Danh
Wie auch immer, Sie müssen vollständig entfernen, bevor Sie es durch sichern ersetzen – Danh