How do I edit an incorrect commit message with TortoiseGit?
If the commit is the head of current branch, that is easy.
- Context menu -> Git Commit
- Tick "Amend Last Commit" checkbox
- Correct your commit message
- OK
If the commit is the head of other branch, switch to that branch first.
- Context menu -> TortoiseGit -> Switch/Checkout
- Choose branch name
- OK
- Follow above 1-4 steps to amend commit message
If the commit is in the middle without any merge between head, you need to reset, amend and cherry-pick
- Context menu -> TortoiseGit -> Log
- Select the commit -> Context menu -> Reset
- Hard Reset (this will discard all work contained in commits above the selected commit as well as any un-committed changes in the working directory)
- OK
- Follow above 1-4 steps to amend commit message
- Select from head to one commit above it -> Context menu -> Cherry-pick
- Continue
For the case of when the commit is in the middle, I highly recommend not following the instructions provided by linquize, see the comments below his answer for the reason.
You can use the git command line with TortoiseGit and it won't cause any problems: Can I use command-line Git tools and TortoiseGit simultaneously?.
This youtube video explains it really well: http://youtu.be/4YjKY0u9Z6I. Basically use git rebase -i and then simply "reword" the commit message.
Update: I believe you can retrieve the lost commits from the hard reset suggested by linquize, see Wayne's answer here: How can I reorder/combine commits using Git rebase?.
I would say the best method to amend any commit message is to use the force rebase
option in TortoiseGit.
See this answer on How to Reorder Commits (rebase) with TortoiseGit. The same method can be used to edit commit messages.
- In the
Upstream
box choose a branch whose HEAD is some commit in your current branch history. If you don't have such a branch, create it temporarily from a commit from which you want to edit the commit messages. - Click
Force Rebase
- Right-click the commit you want to edit and select the
Edit
option. You may choose to edit multiple commits. - Click the
Start Rebase
button. - Rebase will pause at the commits that you have marked for
Edit
- Click on
Commit Message
tab at the bottom and edit the message - Click the
Amend
button to continue