How to edit a commit message in PyCharm?
Rather than using VCS "Commit Changes ..." and amending, I found it more intuitive to show the Git Log, and from the context menu on the previous commit, do a "Reset Current Branch to Here". In the popup, select "Soft" reset, which doesn't change files and does stage changes for commit.
That seems more like how an undo should work, putting the project back in the state it was before I mistakenly issued the commit with the wrong message.
You can also use rebase from pycharm, in interactive mode and apply "reword" to a commit, in which you want to edit the message.
I had the exact same issue and thought I should clarify and bring all the fore-mentioned knowledge that worked for me in one place:
From VCS select Commit Changes, then tick Amend commit", select a new change to be committed and add new commit message (to replace the one of the previous commit). Finally, select Commit.
Following LazyOne's comment, at https://www.jetbrains.com/help/pycharm/2016.1/commit-changes-dialog.html it explains how the Amend commit" option works. Furthermore, as it was clearly noted by Liam Jones, you must not only tick the Amend commit" option but also select to commit some new change (any small change would suffice) in order for the Commit button at the bottom to become available.
When you do the above steps, then this new commit along with the changes of the previous commit will be merged using the latest commit message; in other words, this way you replace the commit message of your last commit.
Of course, the git commit --amend
option (as described here https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things) is perhaps another (cleaner) way for someone who can work outside of an IDE.
The PyCharm commit dialog includes an Amend commit option which lets you add in further changes to the previous commit, and edit the commit message while you're at it.
However I don't think there is a way to edit the previous commit message without making further file changes, because PyCharm will not let you commit if there are no file changes selected.
For the moment I just drop down to the console and execute git commit --amend
.