Edit a commit message in SourceTree Windows (already pushed to remote)

atlassian-sourcetree, git

Solution

Here are the steps to edit the commit message of a previous commit (which is not the most recent commit) using SourceTree for Windows version 1.5.2.0:

Step 1

Select the commit immediately before the commit that you want to edit. For example, if I want to edit the commit with message "FOOBAR!" then I need to select the commit that comes right before it:

Step 2

Right-click on the selected commit and click `Rebase children...interactively`:

Step 3

Select the commit that you want to edit, then click `Edit Message` at the bottom. In this case, I'm selecting the commit with the message "FOOBAR!":

Step 4

Edit the commit message, and then click `OK`. In my example, I've added "SHAZBOT! SKADOOSH!"

Step 5

When you return to interactive rebase window, click on `OK` to finish the rebase:

Step 6

At this point, you'll need to force-push your new changes since you've rebased commits that you've already pushed. However, the current 1.5.2.0 version of SourceTree for Windows does not allow you to force-push through the GUI, so you'll need to use Git from the command line anyways in order to do that.

Click `Terminal` from the GUI to open up a terminal.

Step 7

From the terminal force-push with the following command,

git push origin <branch> -f

where `<branch>` is the name of the branch that you want to push, and `-f` means to force the push. The force push will overwrite your commits on your remote repo, but that's OK in your case since you said that you're not sharing your repo with other people.

That's it! You're done!

Problem

How do I edit an incorrect commit message in SourceTree without touching the command line? Additional details: - This is not the latest commit. - Everything was already pushed to Bitbucket. - This is a private repository and I am the only collaborator. - I don't mind losing any of the previous commits, as I can re-commit them anytime. - I don't want however to lose any code modification ever made. Outcome: - As it seems impossible at the moment according to your comments and replies, I'm going to create a new repository and start all over. Thanks all for your help!

Original source

Related problems