Verwenden von IntelliJ zum Ändern der Git-Commit-Nachricht

105

Kann man eine Git-Commit-Nachricht mit ändern IntelliJoder sollte man auf die Kommandozeile zurückgreifen?

Wie kann das bitte gemacht werden?

James Raitsev
quelle

Antworten:

86

Ansicht => Tool Windows => Versionskontrolle. ( Windows (Alt + 9) / OS X (Cmd + 9) )

IntelliJ 2017.1 und höher => Gehen Sie zu Protokoll und klicken Sie mit der rechten Maustaste + umformulieren oder drücken Sie F2.

IntelliJ benennt Commit um

Während Sie sich in derselben Filiale befinden (Ihre ausgecheckte Filiale ist dieselbe)

Stefan Rein
quelle
4
Dies scheint die einzige Möglichkeit (neben der Befehlszeile) zu sein, Kommentare mit WebStorm 2017.3 zu überarbeiten (ohne Änderungen vorzunehmen, um ein Commit zu erzwingen). Dieses Versionskontrollfenster wird über Alt + 9 oder Ansicht-> Werkzeugfenster-> Versionskontrolle angezeigt.
CODE-REaD
3
In Idea 2017.3 heißt der beschriebene Befehl "Reword ..." anstelle von "Rename" (wie im Screenshot gezeigt :-)). F2 funktioniert auch.
Volker Seibt
1
Hat jemand eine Idee, warum "Commit-Nachricht bearbeiten ..." in meinem IntelliJ (2019.3.1) ausgegraut ist?
Cold_Class
@Cold_Class War dies Ihre Commit-Nachricht? Ich habe eine ausgegraute, die eine Verschmelzung ist. Wie Merge branch 'develop' of REPO_URL into BRANCH_NAMEmeinst du das?
Stefan Rein
@StefanRein - Ich hatte dieses Problem heute und stellte fest, dass ich mich im Cherry Pick-Modus befand - dies muss abgebrochen werden
Lost Crotchet
72

Das Ändern wird unterstützt: Rufen Sie "Änderungen festschreiben" auf und aktivieren Sie das Kontrollkästchen "Festschreiben ändern" im Dialogfeld "Festschreiben". Drücken Sie dann die Schaltfläche "Commit", und das Commit wird auf das vorherige geändert.

Die Unterstützung ist jedoch begrenzt:

  • Sie können die Details des Commits, das geändert wird, nicht sehen.
  • Wenn Sie keine nicht festgeschriebenen Änderungen haben (z. B. möchten Sie nur die Nachricht des vorherigen Commits ändern, ohne weitere Änderungen hinzuzufügen), können Sie "Commit" nicht aufrufen.
LoKi
quelle
12
Übliche Problemumgehung gegen das zweite Problem ist das Hinzufügen einiger nicht wichtiger Zeichen (Leerzeichen usw.) zu einer Datei, damit Sie einen Commit durchführen können
Leokom
Der JetBrains-Support verwies mich auf die Erweiterungsanforderungen IDEA-81428 und IDEA-57979 . Diese Frage und Antwort gilt auch für PyCharm.
Wil Cooley
10
Diese Antwort ist seit 2017.2 nicht mehr wahr. Sie können dies jetzt ganz einfach tun: Version ControlBedienfeld> LogRegisterkarte> Letztes Commit auswählen> F2 drücken. jetbrains.com/idea/whatsnew/#v2017-2-version-control
DLight
39

Endlich eine Problemumgehung dafür gefunden. Dieses Problem hat mich tagelang beunruhigt.

  1. Gehen Sie zur Registerkarte Versionskontrolle - Protokoll
  2. Wählen Sie die Version aus, eine unter Ihren Änderungen. Klicken Sie mit der rechten Maustaste und sagen Sie "Aktuellen Zweig auf hier zurücksetzen".
  3. Wählen Sie "Soft" und klicken Sie auf "Zurücksetzen". Dies ist sehr wichtig. Sie müssen nur auf "Soft" klicken, damit Ihre Änderungen nicht verloren gehen.
  4. Überprüfen Sie die Versionskontrolle, lokale Änderungen, Ihre Änderungen sind in derselben Änderungsliste verfügbar
  5. Klicken Sie mit der rechten Maustaste auf die Änderungsliste und wählen Sie Festschreiben.
  6. Es zeigt Ihnen Ihre vorherige Commit-Nachricht. Jetzt können Sie die Kommentare ändern und Commit und Push sagen

    Note: This solution uses android studio as intellij platform. 
    
Ashish Rawat
quelle
1
In IntelliJ 17.3 kann ich den Menüpunkt "Reword ... (F2)" im Versionskontrollprotokoll verwenden, um die Festschreibungsnachricht direkt zu bearbeiten.
Claes Mogren
28

Sie können auch mit einem Terminal und einer Shell wie Powershell, Cmd oder Bash (abhängig von Ihrem System) zu Ihrem Git-Ordner wechseln und dann Folgendes eingeben:

git commit --amend -m "your new commit message"
Christopher J.
quelle
3
Und da IntelliJ ein integriertes Terminal bietet, müssen Sie die IDE nicht einmal verlassen. Dies ist wahrscheinlich der schnellste Weg.
walen
14

Commit-Nachrichten können während einer Rebase bearbeitet werden. Rufen Sie den RebaseBefehl über das VCSMenü auf, bestätigen Sie die Verzweigungseinstellungen und klicken Sie dann auf die Schaltfläche Rebase. Sie erhalten eine Liste Ihrer nicht gepushten Commits. Wählen Sie die rewordAktion aus der Dropdown-Liste links neben der Nachricht aus, die Sie bearbeiten möchten.

Weitere Informationen zu anderen Rebase-Aktionen finden Sie im Git-Dokument zum Umschreiben des Verlaufs.

teppic
quelle
2
Dies ist eine der besseren Optionen. Wenn Sie Ihre Änderungen bereits auf den Ursprung verschoben haben, werden Sie von der IDE gewarnt. Dies ist eine gute Sache, als ob jemand das von Ihnen gepusste Commit bereits gezogen hätte. Wenn Sie das Commit ändern, selbst wenn Sie nur die Commit-Nachricht ändern, bedeutet dies, dass jeder, der das vorherige Commit gezogen hat, auch eine erneute Basis erstellen muss. Dies ist im Allgemeinen eine "schlechte Sache".
Chris Cogdon
3

Wählen Sie auf der Registerkarte Protokoll das Commit aus und drücken Sie F2 (Umwort). Das ist es.

Omilus
quelle
2

Um fair zu sein, ist der schnellste Weg, dies zu tun, über die Befehlszeile. Ich weiß, dass das OP gefragt hat, ob es über IntelliJ ausgeführt werden soll (so habe ich diese Frage gefunden, ich habe versucht, sie in PHPStorm auszuführen), aber im Ernst, es ist so viel einfacher über die Befehlszeile.

Wenn Sie sich im richtigen Ordner in Ihrem Terminal / Ihrer Eingabeaufforderung befinden, geben Sie ein

git commit --amend

Ihnen wird dann die letzte Festschreibungsnachricht angezeigt. Bearbeiten Sie einfach den Text und speichern Sie die Datei.

Wenn Sie den Editor ändern möchten (standardmäßig vi), verwenden Sie diesen Befehl und ändern Sie "vim" in den Editor Ihrer Wahl.

git config --global core.editor "vim"

dh Windows-Benutzer möchten möglicherweise ...

git config --global core.editor "notepad"

Quelle: https://help.github.com/articles/changing-a-commit-message/

Steve Childs
quelle
1
Ihre Antwort ist anderen zu ähnlich und bringt sogar eine weniger bequeme Methode. git commit --amend -m my_new_messagewird verwendet, um die Festschreibungsnachricht direkt über die Befehlszeile zu ändern.
Christopher J.
Ich finde das gut. Wir können die Nachricht basierend auf der falschen Nachricht ändern. Und "VI" -Editor ist auch gut.
Leo Lee
@ChristopherJ. - Entschuldigung, ich habe Ihre Antwort nicht gesehen, als ich dies gepostet habe. Ich lasse es hier, da ich den Editor ändern muss, wenn Ihnen die Standardeinstellung nicht gefällt.
Steve Childs
2

Im Fall 2018.3 und gleich mit 2017.1

Alt + 9(Versionskontrollfenster)

Und klicken Sie mit der rechten Maustaste -> Kontextmenü auf "Umwort ... F2".

ODER

shorcut F2Sie können die Nachricht bearbeiten.

redhot
quelle
1

In JetBrains Go to View -> Version Control-> würde dies die Registerkarte Versionskontrollprotokoll am unteren Bildschirmrand öffnen Go to Log und Sie können das Commit sehen, das Sie zuletzt ausgeführt haben. Klicken Sie mit der rechten Maustaste darauf und wählen Sieundo commit

Bingo! Sie haben alle Commits zurückgesetzt und die Nachricht wird gelöscht. Sie können auch einen Soft-Reset durchführen, falls Sie nur die Commit-Meldung ändern möchten

Emjey
quelle