当前位置:首页 > 文章中心 > 正文内容

git设置全局邮箱和指定仓库邮箱的相关笔记


在 Git 中,账号邮箱是提交代码时标识作者身份的重要信息。以下是关于 Git 账号邮箱的详细说明和操作指南:

1. 查看当前配置的邮箱

使用以下命令查看全局和仓库级别的邮箱配置:



bash

# 查看全局邮箱配置
git config --global user.email

# 查看当前仓库的邮箱配置(优先于全局配置)
git config user.email

2. 设置邮箱

全局配置(所有仓库生效)

bash

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

仓库级配置(仅当前仓库生效)

bash

cd /path/to/your/repository
git config user.email "another_email@example.com"

3. 邮箱的作用

  • 提交记录:邮箱会记录在每次提交的元数据中,显示在 GitHub/GitLab 等平台上。
  • 关联身份:若邮箱与平台账号(如 GitHub 邮箱)一致,提交会被正确关联到你的账号。

4. 与远程平台同步邮箱

若使用 GitHub/GitLab 等平台,需确保:



  1. 提交邮箱已添加到平台账号的邮箱设置中。
  2. 若邮箱为私有(如 GitHub 的 username@users.noreply.github.com),需在平台设置中启用该邮箱的提交关联。

5. 修改历史提交的邮箱

若需要修改历史提交的邮箱,可以使用以下脚本(谨慎操作,会重写历史):



bash

git filter-branch --env-filter '
OLD_EMAIL="old_email@example.com"
CORRECT_NAME="Your Name"
CORRECT_EMAIL="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

6. 常见问题

提交未显示在贡献图中

  • 检查邮箱是否与平台账号关联。
  • 确认提交时间是否在关联邮箱之后。

多个身份切换

使用仓库级配置为不同项目设置不同邮箱,避免全局配置覆盖。

最佳实践

  • 使用与代码托管平台关联的邮箱。
  • 保持邮箱一致性,便于贡献统计。
  • 隐私保护:可使用平台提供的 noreply 邮箱(如 GitHub)。



通过合理配置邮箱,确保你的贡献能被正确记录和识别。

之前git上面填写的邮箱有误,需要修改邮箱

git filter-branch --env-filter '
OLD_EMAIL="zx@163.com"
CORRECT_NAME="zxdaima"
CORRECT_EMAIL="giteezxdaima@163.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

强制更新:

git push --force --all
git push --force --tags

设置当前仓库的邮箱:

git config user.email "giteezxdaima@163.com"

查看当前邮箱

git config user.email



后续提交怎么改名

若需修改后续新提交的用户名(而非历史提交),只需更新 Git 的本地 / 全局配置即可。Git 使用 user.name 和 user.email 配置项记录每次提交的作者信息,修改后新提交将自动使用新配置。

1. 查看当前配置

bash

# 查看全局配置(所有仓库默认使用)
git config --global user.name
git config --global user.email

# 查看当前仓库的单独配置(若有)
git config user.name
git config user.email

2. 修改配置(按需选择)

全局修改(所有仓库生效)

bash

git config --global user.name "新用户名"
git config --global user.email "新邮箱@example.com"

仅当前仓库修改(优先级高于全局)

bash

cd /path/to/your/repository
git config user.name "新用户名"
git config user.email "新邮箱@example.com"

3. 验证配置是否生效

bash

# 检查配置是否正确更新
git config --list | grep user.

# 或查看当前仓库的提交模板
git commit --dry-run --allow-empty | grep Author

4. 多身份切换技巧

若需要在不同项目使用不同用户名(例如工作和个人项目),可通过以下方式实现:

方法一:为特定目录设置别名

在 .gitconfig 中添加条件包含:


ini

[user]
    name = 默认用户名
    email = 默认邮箱@example.com

[includeIf "gitdir:~/work/"]  # 工作项目目录
    path = ~/.gitconfig-work

[includeIf "gitdir:~/personal/"]  # 个人项目目录
    path = ~/.gitconfig-personal


然后创建对应配置文件:


bash

# ~/.gitconfig-work
[user]
    name = 工作用户名
    email = 工作邮箱@company.com

# ~/.gitconfig-personal
[user]
    name = 个人用户名
    email = 个人邮箱@example.com

方法二:使用仓库钩子自动切换

在项目的 .git/hooks 目录添加 post-checkout 脚本,切换到该仓库时自动设置用户名:


bash

#!/bin/sh
git config user.name "该项目专属用户名"
git config user.email "该项目专属邮箱@example.com"

5. 常见问题

提交时忘记切换身份

若偶然用错身份提交,可修改最近一次提交:


bash

git commit --amend --author="正确用户名 <正确邮箱@example.com>" --no-edit
git push --force  # 仅本地提交未推送时可用


历史提交与新配置不一致

历史提交的作者信息不会自动更新,若需统一,需按前文方法修改历史(如 git filter-repo)。


通过以上配置,后续提交将使用新的用户名和邮箱,而无需每次手动指定。

改名操作:

git config user.name "giteezxdaima"

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/3327.html

分享给朋友:

“git设置全局邮箱和指定仓库邮箱的相关笔记” 的相关文章

楼上邻居弹琴跑调到“离谱”,楼下老王坐不住了…

来源:潇湘晨报俗话说“远亲不如近邻”邻里间的互帮互助一直是我们的传统美德近日,山东菏泽“致楼上邻居的一封信”在网上走红一位热心又专业的邻居老王写信对邻居练钢琴提出了一些“指导意见”指出了两首曲子中的错误还附上了自己精心准备的乐谱谁还没有一个练琴的邻居了网友们纷纷分享了自己或者邻居的“陪练”经历这封“...

非常实用!AutoCAD辅助绘图从新手到高手

【光盘内容】282个本书素材及效果文件,168个本书同步高清视频,600分钟超长播放的多媒体视听教学光盘,2本畅销书视频及素材文件超值赠送(2.11GB)。它是与图书完美结合的视听课堂,让您像看电视一样轻松、直观地进行学习。【主要内容包括】绘制二维图形使用辅助工具精确绘图编辑二维图形对象设置与管理图...

cad2007修改工具镜像工具使用方法讲解 #学习

大家好,接下来给大家分享一下cad二零零七的镜像工具,也就是对称的工具的用法。·它的工具在修改工具条上的第三个,这个叫镜像。在有一些软件可能会翻译成对称,但是cad会叫做镜像,这个在很多软件都会有。·它的用法是什么?可以直接用鼠标点它,点这个工具以后就会提示选择对象。比如这里这几根线条是要镜像的对象...

CAD软件哪个版本最好用?今天就来探讨下

CAD软件哪个版本最好用?相信大部分人都听说过CAD软件,可能大部分很多朋友都还用过CAD软件。CAD软件作为设计制图行业的翘楚,可谓是大名鼎鼎,无人不知,无人不晓。而CAD软件自从20世纪80年代推出来之后,已经更新了二十多个版本每个版本都有它独特的特点,而哪个版本的CAD软件最好用呢?很多人因此...

《丧尸围城》DirectX Error错误解决方法 DX错误进不去游戏怎么办

不少玩家打开《丧尸围城》的时候都弹出DirectX Error错误框、进不去游戏,下面为大家带来《丧尸围城》DirectX Error错误解决方法,告诉大家《丧尸围城》DX错误进不去游戏怎么办,一起来看看吧。问:WIN7点了报错DirectX Error,一个大红叉我系统是WIN7的,乱七八糟的插件...

COD20使命召唤20Directx错误、DX报错的解决方法

《使命召唤20(COD 20)》是一款第 一人称射击游戏。该游戏将于11月10日上线,并且从昨天(10月15日)开始就在进行公测了,玩家小伙伴应该已经迫不及待进入体验了,今天豆沙就带大家解决一下游玩过程中遇到的Directx错误、DX报错问题吧。解决方法一:升级电脑配置电脑配置是进行游戏游玩的一个重...