2016-08-01 9 views
1

Entschuldigung, wenn der Titel nicht klar ist. Ich war mir nicht sicher, was ich schreiben sollte. Was ich fragen möchte ist, dass ich an einem Projekt arbeite und ich habe ein paar Tage zurückgelegt, aber ich habe es nicht vorangetrieben. Seitdem habe ich zahlreiche Änderungen am Code vorgenommen und sogar viele Dateien hinzugefügt. Gestern habe ich beschlossen, den Code in Github zu schieben. Während ich das gemacht habe, habe ich zuerst das zuvor erstellte Commit in den GitHub geschoben. Aber jetzt wurde mein Repo auf dieses vorherige Commit zurückgesetzt. Alle Änderungen, die ich vorgenommen habe, und neue Dateien, die ich seit diesem Commit erstellt habe, sind weg. Ich würde gerne wissen, ob all diese Änderungen und Dateien dauerhaft weg sind? Wenn nicht, wie bekomme ich es zurück?Zum aktuellen Status wechseln, nachdem ein älteres Commit in Github geschoben wurde

+0

Does TO GO ' Git Kasse 'bringen Sie Ihre Änderungen zurück? Das ist der normale Weg, um Ihre Kopie auf den Kopf eines bestimmten Zweiges zurückzusetzen. Außerdem drückt 'git push' implizit _all_ commits entlang des aktuellen Zweiges, die nicht im Remote-Repo sind, so dass es normalerweise nicht notwendig ist, einzelne ältere Commits zu übertragen. –

+0

Nein, git checkout bringt meine Änderungen nicht zurück. Das ist das Problem, ich habe kein neues Commit gemacht. Ich habe nur den Älteren gedrängt. –

+0

@janos ... Entschuldigung, ich bin neu bei Github Ich kenne die Begriffe nicht gut. Ich habe gerade ein Commit gemacht, das ich vor ein paar Tagen gemacht habe, und jetzt ist mein Repo wieder in dem Zustand, als ich diesen Commit gemacht habe. –

Antwort

0

Versuchen Sie git reflog zu verwenden. Dies sollte Ihnen eine Liste ähnlich wie unter

reflog

Besically, das hält eine Spur auf die Aktionen, die Sie durchgeführt haben, die Änderung

in HEAD Zeiger ausgelöst Wenn Sie zurück auf einige zurücksetzen möchten vorheriger Zustand, sagt, bevor Sie Ihre pull getan hat ... oder bevor Sie ein schlechtes git reset --hard ...

Sie können die Aktion in dieser Liste gemacht haben, die die Änderung in Ihrem Arbeitsverzeichnis ausgelöst und setzen Sie sich dann auf HEAD vor zu diese Aktion mit:

git reset --hard [email protected]{4} 

HEAD @ {4}

DIE OBEN IST NUR EIN BEISPIEL DIE SIE SIE MIT RÜCKSICHT AUF KOPF ERSETZEN MÜSSEN SIE ZURÜCK ZU