I have a project hosted in Git stash (now rebranded as Bitbucket Server). It is built using Jenkins. Now I made a typo while installing my Git locally. Like @ab.example
instead of @abc.example
After every build, Jenkins sends email notifications and it picks up my incorrect email address from Git commit and tries to send it.
Even after I have changed the email address in my local Git, I still see Jenkins sending the emails to the old incorrect address.
How can I fix this?
Editable Email Notification
in Post-build Actions
. You can define the recipient list by literal strings or variables of email addresses. As to the incorrect email in the early commits, you could use git filter-branch --env-filter
to modify. But this rewrites the commit history. It's not recommended.
Locally set email-address (separately for each repository)
Open Git Bash. Change the current working directory to the local repository in which you want to set your Git config email. Set your email address with the following command:
git config user.email "your_email@abc.example"
Confirm that you have set your email address correctly with the following command.
git config user.email
Globally set email-address (only used when nothing is set locally)
Open Git Bash. Set your email address with the following command:
git config --global user.email "your_email@abc.example"
Confirm that you have set your email address:
git config --global user.email
Or using environment variables
GIT_COMMITTER_EMAIL=your_email@abc.example GIT_AUTHOR_EMAIL=your_email@abc.example
PD: Info from GitHub official guide
According to the git documentation, all you should have to do is re-run
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
Then just check to make sure the change took effect
$ git config --list
This is listed in the Pro Git book, written by Scott Chacon and Ben Straub
1.6 Getting Started - First-Time Git Setup
use
"git -c user.name="your name" -c user.email=youremail@email.com commit --amend --reset-author"
To set your global username/email configuration:
Open the command line. Set your username: git config --global user.name "FIRST_NAME LAST_NAME" Set your email address: git config --global user.email "MY_NAME@example.com"
To set repository-specific username/email configuration:
From the command line, change into the repository directory. Set your username: git config user.name "FIRST_NAME LAST_NAME" Set your email address: git config user.email "MY_NAME@example.com" Verify your configuration by displaying your configuration file: cat .gitconfig
For more information and for other version control systems .. => SeeThis
Edit your email directly in the JENKINS_HOME/users/YOUR_NAME/config.xml
configuration file and restart the Jenkins server
The commands explained set the email in the .git/config locally:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://username:password@git.mydomain.io/username/repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "beta"]
remote = origin
merge = refs/heads/beta
[user]
email = pippo.caio@sempronio.io
Success story sharing
git config --get user.email
to check the value