generally we prefer append-only repositories for public trees.
But as long as you've not pushed it out to others yet, i.e. it's a purely local development tree, you can use two methods:
If it's just one commit in some devel branch that you want to put into a 'fixes' branch one you can use git-cherry-pick --edit to shuffle it over.
For more complex scenarios you can use git-rebase --interactive to rebase your commits and to edit them. Replace the command "pick" with "edit" to change/fix the commit message. "squash" can be used to fold fixes.