Intellij git setzt einen Commit zurück

Lesezeit: 3 Minuten

Ich benutzte Eclipse und Egit für eine lange Zeit und beschlossen, es zu versuchen Intellij.
So weit so gut, bis auf eine Sache…
Ich kann keinen einfachen Weg finden, einen alten Commit aus meinem Repo rückgängig zu machen!!!

In Eclipse war der Standardprozess: Go to Git Workspace -> Click Show History(Right Click Project) -> RIght-Click on the commit I want to revert and press Revert Commit.

In Intellij kann ich nichts Äquivalentes finden. Versucht VCS -> Show Changes View aber da kann ich nur cherry pick ein Commit. Ich habe auch mit der Wiederherstellungsoption unter gespielt VCS -> git wurde aber durch die verwirrt changelist Sache (Das kann die Antwort verbergen, aber ich verstehe nicht, wie es funktioniert).

Ich kann den Commit immer noch rückgängig machen, indem ich ihn ausgebe git revert <sha> vom Terminal, aber das wollte ich in erster Linie vermeiden, indem ich git von Intellij und nicht das reine Terminal verwendete.

Gibt es eine Möglichkeit, das Zurücksetzen in Intellij einfach durchzuführen?

  • Ich habe vor einigen Tagen auch versucht, diese Funktion zu finden. Ich denke, es fehlt einfach. Verwenden Sie stattdessen eine externe Git-GUI.

    – Benutzer11153

    3. Oktober 2014 um 9:03 Uhr

  • @dimzak Über die Abstraktion der Änderungsliste. Sie können es sich wie einen Haufen Stashes auf Git vorstellen. Wenn Sie es nicht mögen, verwenden Sie einfach die “Standardeinstellung” und Sie werden keine Probleme haben.

    – Bruno Cardoso

    3. Oktober 2014 um 21:49 Uhr


Wenn Sie zu Changelist -> Log gehen und dort den Commit auswählen, sehen Sie im rechten Bereich ein Änderungsdetail. Dort können Sie alle auswählen und auf eine Schaltfläche klicken (oder Rechtsklick -> ausgewählte Änderungen rückgängig machen).

  • Das ist es, wonach @dimzak sucht. Ich habe es gerade versucht, indem ich zum Git-Verlaufsprotokoll gegangen bin und das oberste Baumelement im rechten Bereich und den Befehl „revert“ ausgewählt habe, um tatsächlich den Revert-Commit für uns zu erstellen (natürlich ohne Commit).

    – Ikone

    20. August 2015 um 8:15 Uhr


  • Zur Verdeutlichung: Diese Funktion erstellt tatsächlich einen Reverse-Patch und wendet ihn an. Nachdem Sie ausgewählte Änderungen rückgängig gemacht haben, können Sie die Änderungen vor dem Commit über anzeigen 9: Versionskontrolle -> Lokale Änderungen.

    – Kevinarpe

    4. Juni 2016 um 6:32 Uhr

Ich kenne nur einen Weg und es ist nicht so gut wie über die Befehlszeile.

Erstellen Sie zuerst einen Reverse-Patch. Gehen Sie in das Protokoll, wählen Sie ein beliebiges Commit aus und wählen Sie es aus create patchüberprüfen reverse patch und speichern Sie es überall.

Gehen Sie dann in das VCS-Menü und wählen Sie aus apply patch und wählen Sie die gerade gespeicherte Datei aus.

Bestätigen Sie diese Änderungen.

Trotzdem würde ich es über die Befehlszeile machen. Gibt auch eine richtige automatische Commit-Nachricht aus.

  • Nun, es hat gut funktioniert, aber es hat ungefähr 5 Minuten gedauert, bis ich zurückgekehrt bin 😀

    – dimzak

    6. Oktober 2014 um 14:16 Uhr

  • Tut mir leid, aber das sieht viel zu kompliziert für eine einfache Wiederherstellung aus.

    – Bruno Cardoso

    6. Oktober 2014 um 14:34 Uhr

  • Ich stimme zu, dass es kompliziert ist, ich würde es niemals in intellij tun, sondern in der Befehlszeile. Dies beantwortet jedoch die Frage und ich schließe ein, dass es wahrscheinlich schlimmer ist, als es über die Befehlszeile zu tun.

    – Andreas Wederbrand

    6. Oktober 2014 um 15:34 Uhr

  1. Auswählen das Commit, das Sie zurücksetzen möchten, in das History-Log.
  2. Wählen Sie aus dem Kontextmenü Patch erstellen…
  3. Auswählen Reverse-Patch Kontrollkästchen
  4. Sich bewerben der erstellte Patch

Ich habe in Idea 2016.2 nach dieser Option gesucht und es scheint, dass sie nicht mehr vorhanden ist (“Ausgewählte Änderungen rückgängig machen”). Stattdessen konnte ich mit der Option “Mized” “Aktuellen Zweig auf hier zurücksetzen” ausführen und auf den neuesten korrekten Commit verweisen. Dann konnte ich den Commit einfach noch einmal machen.

1300070cookie-checkIntellij git setzt einen Commit zurück

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

Privacy policy