


This is a more elaborated version of version: For the case where you’re just changing the most recent commit, this is not an issue. The manpage for git rebase warns that using -p and -i can lead to issues, but in the BUGS section it says “Editing commits and rewording their commit messages should work fine.” The solution is to use the -p flag to git rebase, which will preserve the merge structure of your history. This can very often lead to very different history (as duplicate changes may be “rebased out”), and in the worst case, it can lead to git rebase asking you to resolve difficult merge conflicts (which were likely already resolved in the merge commits). If there are any merge commits between the current HEAD and your, then git rebase will flatten them (and by the way, if you use GitHub pull requests, there are going to be a ton of merge commits in your history). There was a slight flaw in my original response. If you want to set the committer to something you specify, this will set both the author and the committer: git -c user.name="New Author Name" -c commit -amend -reset-author This will change the author to the name specified, but the committer will be set to your configured user in git config user.name and git config user.email. Just do git commit -amend -author "New Author Name " You could skip opening the editor altogether here by appending -no-edit so that the command will be: git commit -amend -author "New Author Name " -no-edit & \Īs some of the commenters have noted, if you just want to change the most recent commit, the rebase command is not necessary. Then, when git asks you to amend each commit, do git commit -amend -author "New Author Name "Įdit or just close the editor that opens, and then do git rebase -continue If you also want to change your first commit, you have to manually add it as first line in the rebase file (follow the format of the other lines). Then mark all of your bad commits as “edit” in the rebase file.
VISUALSVN HOW TO CHANGE COMMIT AUTHOR UPDATE
If you only want to fix the spelling of a name or update an old email, git lets you do this without rewriting history using. NOTE: This answer changes SHA1s, so take care on using it on a branch that has already been pushed.
