Gibt es ein Git-Revert ähnlich dem SVN-Revert? Ich brauche einen einzigen Befehl, um * alles * in meinem lokalen zu löschen und auf Remote Head zu setzen

Lesezeit: 2 Minuten

Benutzer-Avatar
Preis

In svn oder subclipse kann ich einfach ein ‘revert’ auf das Root-Projekt machen und alle meine lokalen Änderungen werden verworfen und src wird auf den neuesten Stand in HEAD aktualisiert. Ich scheine kein Äquivalent dazu in Git zu finden, obwohl mehrere Blogs dasselbe behaupten.

Folgendes habe ich getan:

  • 10 Dateien von meinem Heim-Mac übertragen. drängte nicht.
  • die gleichen 10 Dateien und mehr vom Arbeitscomputer übernommen und gepusht.
  • Ich bin nach Hause zurückgekehrt und möchte das Neueste vom entfernten Ursprung/Master nehmen.

versuchte git pull, es brachte Änderungen, warnte aber vor Konflikten

versucht git reset --hard HEAD, aber nichts ist passiert. Ich sehe immer noch die begangenen widersprüchlichen Änderungen

Ich muss einige andere Befehle ausprobiert haben, an die ich mich nicht erinnere. Ich muss nur zum Remote Head zurückkehren und mir keine Gedanken darüber machen, welchen Status mein lokales Repo hat.

Hilfe?

  • Meinten Sie: git reset –schwer KOPF

    – Jakob Egger

    10. September 2011 um 0:39 Uhr


  • Bitte formulieren Sie den Fragentitel neu. “svn revert” kann einzelne Dateien und Verzeichnisse zurücksetzen. Sie haben um Rücksetzung gebeten alle local ändert und eine richtige Antwort erhalten, was für Leute, die nach einem tatsächlichen Äquivalent zu “svn revert” suchen, nicht hilfreich ist, aber Google findet Ihre Frage, wenn es beispielsweise nach “svn revert git” sucht

    – Florian Winter

    15. Juni 2015 um 6:44 Uhr


  • Die Google-Suche “svn revert git” zeigt diese Frage immer noch zuerst und nur den Anfang des Titels: “Gibt es ein git revert ähnlich wie svn revert” … die Antwort darauf lautet $ git checkout file1

    – Thierry

    6. November 2015 um 8:51 Uhr

Benutzer-Avatar
Heiliger

Sie müssen auf Origin/Master zurücksetzen:

git reset --hard origin/master

git reset --hard @{u} verwirft alle lokalen Änderungen und setzt Ihren aktuellen Zweig auf den Upstream-Zweig zurück. Dies funktioniert nur, wenn Sie diese Informationen festgelegt haben (z. B. durch Klonen mit einer neueren Version von git oder durch Verwenden von git push -u). Wenn Sie diese Informationen nicht haben, aber den Upstream-Zweig kennen, können Sie verwenden git reset --hard origin/master (vorausgesetzt origin/master hier ist der Name des Upstream-Zweigs).

Sie wollen git resetaber Sie möchten wahrscheinlich einen Commit früher zurückgehen, da Sie diese Dateien in Ihren HEAD auf dem Home-Mac übertragen haben.

git reset --hard HEAD^

Wenn Sie sich Sorgen machen, etwas zu zerstören, können Sie dies immer tun git logschnappen Sie sich den Hash für das Commit, zu dem Sie zurückkehren möchten (und verwerfen Sie Ihre Änderungen am Home-Mac), und git reset --hard zu diesem Hash.

  • Groß. Es funktionierte, hatte aber einige nicht verfolgte Dateien. Ich habe ein git clean -f ausgeführt und das wurde entfernt. Jetzt zeigt git status folgendes an: # On branch master # Ihr Branch und ‘origin/master’ sind auseinandergegangen, # und haben jeweils 1 und 18 verschiedene Commits. Ich dachte, mein Local ist jetzt dasselbe wie Remote … ?

    – Pri

    10. September 2011 um 0:44 Uhr


Für einfach zurückkehren Sie können verwenden: git-Kasse

git checkout <master>

1158850cookie-checkGibt es ein Git-Revert ähnlich dem SVN-Revert? Ich brauche einen einzigen Befehl, um * alles * in meinem lokalen zu löschen und auf Remote Head zu setzen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy