I want to change the author of one specific commit in the history. It's not the latest commit.
Related: How do I change the author and committer name/email for multiple commits?
user
, so what I needed was git commit --amend --reset-author
- anyone filter-repo
solution, as it does everything for you using a Git recommended tool. - anyone git commit config --global user.name "your name"
and git commit config --global user.email "your email"
, and then I did git commit --amend --reset-author
- anyone Interactive rebase off of a point earlier in the history than the commit you need to modify (git rebase -i <earliercommit>
). In the list of commits being rebased, change the text from pick
to edit
next to the hash of the one you want to modify. Then when git prompts you to change the commit, use this:
git commit --amend --author="Author Name <email@address.com>" --no-edit
For example, if your commit history is A-B-C-D-E-F
with F
as HEAD
, and you want to change the author of C
and D
, then you would...
git rebase -i B
(here is an example of what you will see after executing the git rebase -i B
command)
A
, use git rebase -i --root
C
and D
from pick
to edit
:wq
).C
git commit --amend --author="Author Name <email@address.com>"
git rebase --continue
D
git commit --amend --author="Author Name <email@address.com>"
againgit rebase --continue
git push -f
to update your origin with the updated commits.Answered 2023-09-20 20:22:16
vim
. To save and quit, type Esc : w q Enter. On the other hand, if it's Nano and you see things like "WriteOut: ^O" along the bottom, then you should use Ctrl+O, Enter, Ctrl+X instead. - anyone git commit --amend --reset-author
- anyone --no-edit
option. git commit --amend --reset-author --no-edit
won't open an editor. Available since git 1.7.9. - anyone git rebase -i --root
- anyone The accepted answer to this question is a wonderfully clever use of interactive rebase, but it unfortunately exhibits conflicts if the commit we are trying to change the author of used to be on a branch which was subsequently merged in. More generally, it does not work when handling messy histories.
Since I am apprehensive about running scripts which depend on setting and unsetting environment variables to rewrite git history, I am writing a new answer based on this post which is similar to this answer but is more complete.
The following is tested and working, unlike the linked answer.
Assume for clarity of exposition that 03f482d6
is the commit whose author we are trying to replace, and 42627abe
is the commit with the new author.
Checkout the commit we are trying to modify:
git checkout 03f482d6
Make the author change:
git commit --amend --author "New Author Name <New Author Email>"
Now we have a new commit with hash assumed to be 42627abe
.
Checkout the original branch.
Replace the old commit with the new one locally:
git replace 03f482d6 42627abe
Rewrite all future commits based on the replacement:
git filter-branch -- --all
Remove the replacement for cleanliness:
git replace -d 03f482d6
Push the new history:
git push --force-with-lease
(Only use --force
instead of --force-with-lease
if the latter fails, and only after sanity checking with git log
and/or git diff
.)
Instead of steps 4–5 you can just rebase onto the new commit:
git rebase -i 42627abe
Answered 2023-09-20 20:22:16
git rebase -i
. Never heard of this git replace
thing before. +1 - anyone --force-with-lease
instead of -f
. It's safer. - anyone git filter-branch -- --all
is changing commits in all branches that the original commit was in. If you don't have enough credentials (or you just don't want to change other's branches history), it's good to be careful with this answer. - anyone Github documentation contains a script that replaces the committer info for all commits in a branch (now irretrievable, this is the last snapshot).
Run the following script from terminal after changing the variable values
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
Push the corrected history to GitHub:
git push --force --tags origin 'refs/heads/*'
OR if you like to push selected references of the branches then use
git push --force --tags origin 'refs/heads/develop'
Answered 2023-09-20 20:22:16
clone
/ push
, you'll end up with a backup namespace refs/original/
. I couldn't find a way to remove this namespace intelligently, so I ended up deleting directory .git/refs/original
,which worked. - anyone git push -f
to force push changes to the repo. - anyone git push --force ...
will overwrite ANY changes that anybody else has done. In most cases you really want to use --force-with-lease
instead of --force
to avoid fatal mistakes. In addition, if the remote server is used by multiple developers, it must be understood that all developers will need to switch to new history once this is done. Otherwise you'll get total mess if people start merging between original and rewritten history. - anyone If you just want to change the author of your last commit, you can do this:
Reset your email to the config globally:
git config --global user.email example@email.com
Now reset the author of your commit without edit required:
git commit --amend --reset-author --no-edit
Note this will also change the author timestamp.
Answered 2023-09-20 20:22:16
It's not last commit.
So how would they amend
it? - anyone git reset HEAD~
, ran your suggested lines, then did the next commit manually again. Worked fine! - anyone git config --local user.name FirstName LastName
and git config --local user.email first.last@example.com
. Then apply to the last six commits using git rebase --onto HEAD~6 --exec "git commit --amend --reset-author --no-edit" HEAD~6
. Finally push it to remote Git repo using git push --force-with-lease
. - anyone You can change author of last commit using the command below.
git commit --amend --author="Author Name <email@address.com>"
However, if you want to change more than one commits author name, it's a bit tricky. You need to start an interactive rebase then mark commits as edit then amend them one by one and finish.
Start rebasing with git rebase -i
.
Change the pick
keyword to edit
for the commits you want to change the author name.
Then close the editor. For the beginners, hit Escape
then type :wq
and hit Enter
.
Then you will see your terminal like nothing happened. Actually you are in the middle of an interactive rebase. Now it's time to amend your commit's author name using the command above. It will open the editor again. Quit and continue rebase with git rebase --continue
. Repeat the same for the commit count you want to edit. You can make sure that interactive rebase finished when you get the No rebase in progress?
message.
Answered 2023-09-20 20:22:16
pick
action, and add after each line exec git commit --no-edit --amend --author="MyNewAuthor <my@new-auth.or>"
- anyone rebase -i -p
), but at the end this is what I needed. Thanks - anyone git config --global core.editor nano
before running git commit
and then you can use Ctrl+O, Ctrl+X to exit the editor. - anyone The answers in the question to which you linked are good answers and cover your situation (the other question is more general since it involves rewriting multiple commits).
As an excuse to try out git filter-branch
, I wrote a script to rewrite the Author Name and/or Author Email for a given commit:
#!/bin/sh
#
# Change the author name and/or email of a single commit.
#
# change-author [-f] commit-to-change [branch-to-rewrite [new-name [new-email]]]
#
# If -f is supplied it is passed to "git filter-branch".
#
# If <branch-to-rewrite> is not provided or is empty HEAD will be used.
# Use "--all" or a space separated list (e.g. "master next") to rewrite
# multiple branches.
#
# If <new-name> (or <new-email>) is not provided or is empty, the normal
# user.name (user.email) Git configuration value will be used.
#
force=''
if test "x$1" = "x-f"; then
force='-f'
shift
fi
die() {
printf '%s\n' "$@"
exit 128
}
targ="$(git rev-parse --verify "$1" 2>/dev/null)" || die "$1 is not a commit"
br="${2:-HEAD}"
TARG_COMMIT="$targ"
TARG_NAME="${3-}"
TARG_EMAIL="${4-}"
export TARG_COMMIT TARG_NAME TARG_EMAIL
filt='
if test "$GIT_COMMIT" = "$TARG_COMMIT"; then
if test -n "$TARG_EMAIL"; then
GIT_AUTHOR_EMAIL="$TARG_EMAIL"
export GIT_AUTHOR_EMAIL
else
unset GIT_AUTHOR_EMAIL
fi
if test -n "$TARG_NAME"; then
GIT_AUTHOR_NAME="$TARG_NAME"
export GIT_AUTHOR_NAME
else
unset GIT_AUTHOR_NAME
fi
fi
'
git filter-branch $force --env-filter "$filt" -- $br
Answered 2023-09-20 20:22:16
My 2019's comment converted into an answer:
First set the correct author for current Git repo
git config --local user.name "FirstName LastName"
git config --local user.email first.last@example.com
Then apply the fix to the last six commits
git rebase --onto HEAD~6 --exec "git commit --amend --reset-author --no-edit" HEAD~6
Finally force push to the remote Git repo
git push --force-with-lease
Answered 2023-09-20 20:22:16
"FirstName LastName"
, just a heads up - anyone Find a way that can change user quickly and has no side effect to others commits.
git config user.name "New User"
git config user.email "newuser@gmail.com"
git log
git rebase -i 1f1357
# change the word 'pick' to 'edit', save and exit
git commit --amend --reset-author --no-edit
git rebase --continue
git push --force-with-lease
git log
git config user.name "New User"
git config user.email "newuser@gmail.com"
git rebase -i 1f1357
# change word pick to edit, save and exit
edit 809b8f7 change code order
pick 9baaae5 add prometheus monitor kubernetes
edit 5d726c3 fix liquid escape issue
edit 3a5f98f update tags
pick 816e21c add prometheus monitor kubernetes
Stopped at 809b8f7... change code order
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
refs/heads/master.
# each continue will show you an amend message
# use git commit --amend --reset-author --no-edit to comfirm
# use git rebase --skip to skip
git commit --amend --reset-author --no-edit
git rebase --continue
git commit --amend --reset-author --no-edit
...
git rebase --continue
Successfully rebased and updated refs/heads/master.
git push --force-with-lease
Answered 2023-09-20 20:22:16
user.name
and user.email
in config but then don't change them back. If you don't change them back all future commits will be by the new user too! This is why it might be better to use the --author
flag on git commit
instead. - anyone Commit before:
To fix author for all commits you can apply command from @Amber's answer:
git commit --amend --author="Author Name <email@address.com>"
Or to reuse your name and email you can just write:
git commit --amend --author=Eugen
Commit after the command:
For example to change all starting from 4025621
:
You must run:
git rebase --onto 4025621 --exec "git commit --amend --author=Eugen" 4025621
Note: To include an author containing spaces such as a name and email address, the author must be surrounded by escaped quotes. For example:
git rebase --onto 4025621 --exec "git commit --amend --author=\"Foo Bar <foo@bar.com>\"" 4025621
or add this alias into ~/.gitconfig
:
[alias]
reauthor = !bash -c 'git rebase --onto $1 --exec \"git commit --amend --author=$2\" $1' --
And then run:
git reauthor 4025621 Eugen
Answered 2023-09-20 20:22:16
git shortlog -e -s
. - anyone In furtherance to Eugen Konkov answer, to start from the root commit, use --root
flag. The --no-edit
flag is helpful too, because with it you are not prompted into an editor for each commit.
git rebase --root --exec "git commit --amend --author='name <email>' --no-edit"
Answered 2023-09-20 20:22:16
When doing git rebase -i
there is this interesting bit in the doc:
If you want to fold two or more commits into one, replace the command
"pick"
for the second and subsequent commits with"squash"
or"fixup"
. If the commits had different authors, the folded commit will be attributed to the author of the first commit. The suggested commit message for the folded commit is the concatenation of the commit messages of the first commit and of those with the"squash"
command, but omits the commit messages of commits with the"fixup"
command.
A-B-C-D-E-F
,B
and D
(= 2 commits),then you can do:
git config user.name "Correct new name"
git config user.email "correct@new.email"
git commit --allow-empty -m "empty"
git rebase -i B^
B^
selects the parent of B
.pick
to squash
for those.Example of what git rebase -i B^
will give you:
pick sha-commit-B some message
pick sha-commit-C some message
pick sha-commit-D some message
pick sha-commit-E some message
pick sha-commit-F some message
# pick sha-commit-empty1 empty
# pick sha-commit-empty2 empty
change that to:
# change commit B's author
pick sha-commit-empty1 empty
squash sha-commit-B some message
# leave commit C alone
pick sha-commit-C some message
# change commit D's author
pick sha-commit-empty2 empty
squash sha-commit-D some message
# leave commit E-F alone
pick sha-commit-E some message
pick sha-commit-F some message
It will prompt you to edit the messages:
# This is a combination of 2 commits.
# The first commit's message is:
empty
# This is the 2nd commit message:
...some useful commit message there...
and you can just remove the first few lines.
Answered 2023-09-20 20:22:16
There is one additional step to Amber's answer if you're using a centralized repository:
git push -f
to force the update of the central repository.
Be careful that there are not a lot of people working on the same branch because it can ruin consistency.
Answered 2023-09-20 20:22:16
If the commit that you want to change is not the last commit, then follow the below steps. If your commit is in different branch then first switch to that branch.
git checkout branch_name
Find commit before the commit that you want to change and find its hash. Then issue rebase command.
git rebase -i -p hash of commit
Then an editor will open and enter 'edit' for the commits that you want to change. Leave others with default 'pick' option. Once changed enter 'esc' key and wq! to exit.
Then issue git commit command with amendment option.
git commit --amend --author="Username email" --no-edit
Then issue the following command.
git rebase --continue
Once commit author is updated in the local repository, push the changes to the remote repository.
Answered 2023-09-20 20:22:16
SOLUTION
Install git filter-repo
(Git project recommends filter-repo
over filter-branch
)
$ PACKAGE_TOOL install git-filter-repo
Create a file .mailmap
in the root of the git repository containing
New Name <new@ema.il> <old@ema.il>
Run git filter-repo --use-mailmap
MORE DETAILS
git-filter-repo
lists this as an example in their docs.mailmap
by default, you can specify mailmap file by invoking git filter-repo
with argument --mailmap <filename>
.git-filter-repo
project's README.md.Answered 2023-09-20 20:22:16
brew install git-filter-repo
works in a Mac. - anyone brew
install works for Mac users and running git filter-repo --use-mailmap
does the magic! Have to mention that this method allows multiple author changes. Just press Enter and add many lines as you need: New Name1 <new1@ema.il> <old1@ema.il> New Name2 <new2@ema.il> <old2@ema.il>
- anyone For the merge commit message, I found that I cannot amend it by using rebase
, at least on gitlab. It shows the merge as a commit but I cannot rebase onto that #sha. I found this post is helpful.
git checkout <sha of merge>
git commit --amend # edit message
git rebase HEAD previous_branch
This three lines of code did the job for changing the merge commit message (like author).
Answered 2023-09-20 20:22:16
Using Interactive Rebase
git rebase -i -p <some HEAD before all of your bad commits>
Then mark all of your bad commits as "edit" in the rebase file, and when git asks you to amend each commit, do
git commit --amend --author "New Author Name <email@address.com>"
edit or just close the editor that opens, and then do
git rebase --continue
to continue the rebase.
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 <email@address.com>" --no-edit && \
git rebase --continue
Single Commit
As some of the commenters have noted, if you just want to change the most recent commit, the rebase command is not necessary. Just do
git commit --amend --author "New Author Name <email@address.com>"
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. 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 user.email=email@address.com commit --amend --reset-author
Answered 2023-09-20 20:22:16
Steps to rename author name after commit pushed
git rebase i HEAD~10 (10 is the total commit to display on rebase)
If you Get anything like below
fatal: It seems that there is already a rebase-merge directory, and
I wonder if you are in the middle of another rebase. If that is the
case, please try
git rebase (--continue | --abort | --skip)
If that is not the case, please rm -fr
".git/rebase-merge"
and run me again. I am stopping in case you still have something
valuable there.
Then type "git rebase --continue" or "git rebase --abort" as per your need
pick 897fe9e simplify code a little
pick abb60f9 add new feature
pick dc18f70 bugfix
Now you need to add below command just below of the commit you want to edit, like below
pick 897fe9e simplify code a little
exec git commit --amend --author 'Author Name <author.name@mail.com>'
pick abb60f9 add new feature
exec git commit --amend --author 'Author Name <author.name@mail.com>'
pick dc18f70 bugfix
exec git commit --amend --author 'Author Name <author.name@mail.com>'
That's it, now just press ESC, :wq and you are all set
Then git push origin HEAD:BRANCH NAME -f [please take care of -f Force push]
like git push -f
or git push origin HEAD: dev -f
Answered 2023-09-20 20:22:16
OPTIONAL: Make sure to stash your local changes if you don't want to send them to remote.
$ git status
$ git stash
$ git log // Old author in local and remote
$ git commit --amend --author="Author Name <email@address.com>"
$ git log // New Author in local
$ git push origin <branch> --force-with-lease
$ git log // New Author in remote
Then, if you used git stash
then recovers your staged changes
$ git stash pop
$ git status
Then, you should to update the configuration for the next commits of the current project.
$ git config user.name "Author Name"
$ git config user.email "<email@address.com>"
And check or also edit this with git config --edit
Clarification: In the rare case that you lose commits using $ ggpush -f
you can recover them with reflog. Anyway using --force-with-lease
you are protected even more than if you use only -f
GL
Answered 2023-09-20 20:22:16
It could happen if you're missing settings on your machine, e.g., after a format, or when not having a Git configured correctly without setting up (correctly) these commands.
git config user.name "Author Name"
git config user.email "<email@address.com>"
Why not make your life simpler by following this article by Atlassian?
git commit --amend --author="Author Name <email@address.com>"
master
; therefore, it'll be protected by the source code repositorygit push origin master --force
That's the simplest scenario for the last commit. For picking up any "random" commit, you need:
git rebase -i <Earlier Commit>.
pick
on edit
on that commit, in which you're interested ingit commit --amend --author="Author Name <email@address.com>"
master
; therefore, it'll be protected by the source code repositorygit push origin master --force
You can always git log
in between to be sure where you are before you push.
Answered 2023-09-20 20:22:16
There is a shortcut applicable to the most voted question: using exec
instead of edit
.
exec
allows to run a command on a specified commit.
Using it allows to avoid using edit
, exiting to a terminal and running the git
command for each git commit.
This is especially helpful if you have to change multiple commits in the history.
The steps are:
git rebase -i <earliercommit>
)exec git commit --amend --author="Author Name <email@address.com>" --no-edit
(or using --reset-author
if you want to reset to the value set in the git config)Example editor content (to change first 2 commits author):
pick 1fc6c95 Patch A
exec git commit --amend --author="Author Name <email@address.com>" --no-edit
pick 6b2481b Patch B
exec git commit --amend --author="Author Name <email@address.com>" --no-edit
pick dd1475d something I want to split
pick c619268 A fix for Patch B
pick fa39187 something to add to patch A
pick 4ca2acc i cant' typ goods
pick 7b36971 something to move before patch B
# Rebase 41a72e6..7b36971 onto 41a72e6
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#
Answered 2023-09-20 20:22:16
As an addition to Eugen Konkov's answer, it is possible to keep the commit/author date. To only modify the author but not the date of the last three commits use
git rebase --onto HEAD~3 --exec 'GIT_COMMITTER_DATE="$(git log -n 1 --format=%aD)" git commit --amend --reset-author --no-edit --date="$(git log -n 1 --format=%aD)"' HEAD~3
then apply a force push
git push --force-with-lease
Answered 2023-09-20 20:22:16
you can use these commands from official page of github
https://help.github.com/en/github/using-git/changing-author-info
here is the commands
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
here u can change the old email to ur new user name and email address.
Answered 2023-09-20 20:22:16
One important thing to mention especially if you are deleting author information for privacy.
After operations from upper answers:
git commit --amend --author="Author Name <email@address.com>"
git push -f
The commits with old author info still exist in git local & remote cache.
As Github you can still access the commit by SHA1, with a warning "This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository."
Garbage collect can be executed within local repo:
git gc
Howerver for Github, which you cannot trigger this command, go to Support https://support.github.com/request/remove-data and submit Clear Cached Views ticket on your repo.
This last step is applied to all commit modify/remove operations.
Warning: This article tells you how to make commits with sensitive data unreachable from any branches or tags in your repository on GitHub.com. However, those commits may still be accessible in any clones or forks of your repository, directly via their SHA-1 hashes in cached views on GitHub, and through any pull requests that reference them. You cannot remove sensitive data from other users' clones of your repository, but you can permanently remove cached views and references to the sensitive data in pull requests on GitHub by contacting GitHub Support.
Answered 2023-09-20 20:22:16
There is also a lazy approach to this problem, especially if you have more than one commit that you want to change. In my case, I had a new branch with several commits with a wrong author, so what helped me:
Go to your original branch:
git checkout develop
Create new branch from it:
git checkout -b myFeature develop
Merge it without commit info as one commit:
git merge --no-commit --squash branchWrongAuthor
You might also want to stage changes:
git stage .
Change the name of the author and commit changes:
git commit --amend --author "New Author Name <New Author Email>" -m "new feature added"
And that's it, you can push the changes.
git push
You can delete the branch with a wrong author after that.
Answered 2023-09-20 20:22:16
Changing Your Committer Name & Email Globally:
$ git config --global user.name "John Doe"
$ git config --global user.email "john@doe.org"
Changing Your Committer Name & Email per Repository:
$ git config user.name "John Doe"
$ git config user.email "john@doe.org"
Changing the Author Information Just for the Next Commit:
$ git commit --author="John Doe <john@doe.org>"
Hint: For other situation and read more information read the post reference.
Answered 2023-09-20 20:22:16
The preferred answer, the one using git rebase -i
is efficient, but as highlighted in this other answer, it becomes messy when there are merges around the commits to edit. And the use of git replace
is smart but git filter-branch
rewrites all the history of other branches and tags, which is not what we want in general.
I wanted to share an alternative to the first answer that remains easy even when there are merges. In my case, when I used git rebase -i <earlier-commit>
, I got a conflict to solve first, before proceeding with the rebase. In fact, it is easier to use the break command rather than the edit one. And directly rebase on the commit we target.
Let's take an example and let's assume git log
shows...
commit a12afg
...
commit dloe7a
...
commit gh7ag1
...
commit qp3zaa
...
And let's say you want to update the author, message or commit signature for the commit gh7ag1
. You can proceed with git rebase -i gh7ag1
. In you editor, you will see:
pick dloe7a
pick a12afg
Just add a break command:
break
pick dloe7a
pick a12afg
Save (:wq
with VI, Ctrl+O
then Ctrl+X
with nano).
And now, you are back right after your commit. You can run git commit --amend
to update the author, the message or the signature (e.g. git commit --amend -S --author="Your Name <your-email>"
). Verify with git log --show-signature
. If correct, you can go on with git rebase --continue
.
And you can have as many break commands in the rebase. The continue will move to the next break, if there is one, or apply the remaining commits (provided they are marked as pick
).
Answered 2023-09-20 20:22:16
If what you need to change is the AUTHOR OF THE LAST commit and no other is using your repository, you may undo your last commit with:
git push -f origin last_commit_hash:branch_name
change the author name of your commit with:
git commit --amend --author "type new author here"
Exit the editor that opens and push again your code:
git push
Answered 2023-09-20 20:22:16
If you want to change the author for all commits that were committed by a certain author all at once:
Run the following command to iterate through all commits and update the author information according to the provided conditions:
git filter-branch --env-filter '
if [ "$GIT_AUTHOR_EMAIL" = "Older Author Email" ]; then
export GIT_AUTHOR_NAME="New Author Name"
export GIT_AUTHOR_EMAIL="New Author Email""
fi
' -- --all
Then forcefully push the branch.
git push --force origin branch-name
Answered 2023-09-20 20:22:16