在 Git 中更改电子邮件地址

Posted

技术标签:

【中文标题】在 Git 中更改电子邮件地址【英文标题】:Change email address in Git 【发布时间】:2016-10-14 19:24:35 【问题描述】:

我有一个项目托管在 Git stash 中(现在更名为 Bitbucket Server)。它是使用詹金斯构建的。 现在我在本地安装我的 Git 时打错了。 喜欢@ab.com 而不是@abc.com

每次构建后,jenkins 都会发送电子邮件通知,它会从 Git 提交中提取我不正确的电子邮件地址并尝试发送。

即使我在本地 Git 中更改了电子邮件地址,我仍然看到 jenkins 将电子邮件发送到旧的错误地址。

我该如何解决这个问题?

【问题讨论】:

Post-build Actions 中尝试Editable Email Notification。您可以通过文字字符串或电子邮件地址变量来定义收件人列表。对于早期提交中的错误邮件,您可以使用git filter-branch --env-filter 进行修改。但这会重写提交历史。不推荐。 我知道后期构建步骤。这就是我现在解决问题的方式。 【参考方案1】:

本地设置电子邮件地址(每个存储库单独设置)

    打开 Git Bash。

    将当前工作目录更改为您要在其中设置 Git 配置电子邮件的本地存储库。

    使用以下命令设置您的电子邮件地址:

git config user.email "your_email@abc.com"
    使用以下命令确认您已正确设置电子邮件地址。
git config user.email

全局设置电子邮件地址(仅在本地没有设置时使用)

    打开 Git Bash。

    使用以下命令设置您的电子邮件地址:

git config --global user.email "your_email@abc.com"
    确认您已设置电子邮件地址:
git config --global user.email

或者使用环境变量

    GIT_COMMITTER_EMAIL=your_email@abc.com GIT_AUTHOR_EMAIL=your_email@abc.com

PD:来自 github 官方指南的信息

【讨论】:

我已经这样做了,并且在 git 中更改了电子邮件地址。但是詹金斯仍然引用了来自 Git 的旧电子邮件地址。奇怪! 您已经进行的提交将有一个旧的电子邮件地址。只有新的提交才会有新的电子邮件地址。如果您想更改现有提交中的电子邮件地址,请参阅how to change an author of a commit。 我可以添加一个全局电子邮件,尽管存在一个 repo(local) 邮件,但它支配所有 repos 吗? 可以使用git config --get user.email查看值【参考方案2】:

根据 git 文档,你应该做的就是重新运行

$ git config --global user.name "John Doe"  
$ git config --global user.email johndoe@example.com  

然后检查以确保更改生效

$ git config --list

这在 Scott ChaconBen Straub

Pro Git 书中列出

1.6 入门 - First-Time Git Setup

【讨论】:

【参考方案3】:

使用

"git -c user.name="你的名字" -c user.email=youremail@email.com 提交 --amend --reset-author"

【讨论】:

【参考方案4】:

设置您的全局用户名/电子邮件配置:

    打开命令行。

    设置您的用户名:

    git config --global user.name "FIRST_NAME LAST_NAME"

    设置您的电子邮件地址:

    git config --global user.email "MY_NAME@example.com"

设置存储库特定的用户名/电子邮件配置:

    从命令行切换到存储库目录。

    设置您的用户名:

    git config user.name "FIRST_NAME LAST_NAME"

    设置您的电子邮件地址:

    git config user.email "MY_NAME@example.com"

    通过显示您的配置文件来验证您的配置:

    cat .git/config

更多信息和其他版本控制系统.. => SeeThis

【讨论】:

【参考方案5】:

直接在JENKINS_HOME/users/YOUR_NAME/config.xml配置文件中编辑你的邮件并重启Jenkins服务器

【讨论】:

以上是关于在 Git 中更改电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章

在每次提交中更改邮件地址 [重复]

更改 Git 中推送的凭据

sh 在Git中更改多个提交的名称和电子邮件

如何在 Git 中更改多个提交的作者和提交者姓名和电子邮件?

Git 配置用户设置“添加条目按钮”被禁用

GIT 以不同的用户身份提交,没有电子邮件/或只有电子邮件