Git多仓库提交用户信息动态设置实现方式

 更新时间:2026年04月25日 09:50:06   作者:holden丶  
本文介绍了在日常开发中,当需要同时管理多个远程仓库(如GitHub、Gitee、GitLab)并每个仓库使用不同的邮箱和用户名时,的操作步骤,通过修改.gitconfig配置文件,可以动态设置不同仓库使用不同的用户名和邮箱,从而避免频繁切换邮箱的的繁琐过程

前言

在日常开发中,我们可能需要同时管理多个远程仓库(如 GitHub、Gitee、GitLab),而每个仓库使用不同的邮箱和用户名。

比如,GitHub 和 Gitee 使用相同的邮箱,而 GitLab 使用另一个邮箱。

每次提交代码时手动切换邮箱非常繁琐,尤其是在多个仓库频繁提交的情况下。

解决方案

通过修改 Git 配置文件 .gitconfig,可以动态设置不同仓库使用不同的用户名和邮箱。以下是详细的操作步骤。

1. 新建外部配置文件

首先,新建一个文件 C:\Users\用户名\.gitconfig-holden ,并在其中设置你希望使用的 Git 用户名和邮箱(例如 GitHub 和 Gitee 使用相同的邮箱):

[user]
name = holden
email = holden.lee@aliyun.com

2. 修改全局配置文件

然后,打开全局 Git 配置文件 C:\Users\用户名\.gitconfig ,并按照以下内容进行配置:

[user]
name = xxx
email = xxx@gmail.com

# 对于 Gitee 和 GitHub,使用外部配置文件

[includeIf "hasconfig:remote.*.url:https://gitee.com/"]
path = ~/.gitconfig-holden

[includeIf "hasconfig:remote.*.url:git@gitee.com:"]
path = ~/.gitconfig-holden

[includeIf "hasconfig:remote.*.url:https://github.com/"]
path = ~/.gitconfig-holden

[includeIf "hasconfig:remote.*.url:git@github.com:"]
path = ~/.gitconfig-holden

# 配置 HTTP 请求缓冲区

[http]
postBuffer = 524288000

配置解释

[user] 配置:

全局默认的 Git 用户名和邮箱(适用于除 GitHub 和 Gitee 外的仓库)。

[includeIf "hasconfig:remote.*.url:https://gitee.com/"]

当远程仓库地址是 Gitee 时,加载外部配置文件 ~/.gitconfig-holden,并使用该文件中的 Git 用户名和邮箱。

[includeIf "hasconfig:remote.*.url:https://github.com/"]

当远程仓库地址是 GitHub 时,加载外部配置文件 ~/.gitconfig-holden,并使用该文件中的 Git 用户名和邮箱。

其他仓库:

对其他远程仓库使用默认的全局配置。

总结

通过这种方式,当你操作 GitHub 或 Gitee 时,Git 会自动使用 ~/.gitconfig-holden 文件中的用户名和邮箱,而 GitLab 等其他仓库则使用全局配置。

这样就解决了不同仓库提交信息不一致的问题,避免了频繁切换用户名和邮箱的麻烦。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • WinSCP和PuTTY(与Linux系统链接的工具)的安装和使用图文教程

    WinSCP和PuTTY(与Linux系统链接的工具)的安装和使用图文教程

    Putty是用来远程连接服务器的,支持SSH、Telnet、Serial等协议的连接,WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端,它的主要功能就是在本地与远程计算机间安全的复制文件,本文重点给大家介绍WinSCP和PuTTY安装使用,感兴趣的朋友一起看看吧
    2022-06-06
  • git工具常用命令及ssh操作方法

    git工具常用命令及ssh操作方法

    这篇文章主要介绍了git工具常用到的命令以及非常详细的ssh操作方法,有需要的朋友可以借鉴参考下,希望可以有所帮助,祝大家能够多多进步,早日升职加薪
    2021-09-09
  • Git常用场景使用方法

    Git常用场景使用方法

    这篇文章主要介绍了Git常用场景使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 如何使用Git实现切换分支开发过程解析

    如何使用Git实现切换分支开发过程解析

    这篇文章主要介绍了如何使用Git实现切换分支开发过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Git取消追踪多个文件或目录的实现方式

    Git取消追踪多个文件或目录的实现方式

    这篇文章主要介绍了Git取消追踪多个文件或目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • 在Git中撤回最近的commit的多种方式小结

    在Git中撤回最近的commit的多种方式小结

    在我们使用git作为版本控制工具进行代码管理之后,经常性的会碰到一个问题:git commit后,如何撤销最近的一次commit,所以本文给大家介绍了在Git中撤回最近的commit的多种方式的相关资料,需要的朋友可以参考下
    2025-10-10
  • Git创建子分支,合并分支并提交

    Git创建子分支,合并分支并提交

    这篇文章主要介绍了Git创建子分支,合并分支并提交,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • win和mac安装以及使用git

    win和mac安装以及使用git

    本文主要介绍了win和mac系统安装和使用git的方法,包括下载安装、测试安装、克隆远程仓库、修改文件后提交和推送等步骤,并针对mac系统与win系统之间的差异进行了详细的对比说明
    2026-04-04
  • 关于ANSI转义序列解读

    关于ANSI转义序列解读

    这篇文章主要介绍了关于ANSI转义序列的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • VSCode gdb 调试 qemu u-boot 的方法详解

    VSCode gdb 调试 qemu u-boot 的方法详解

    这篇文章主要介绍了VSCode gdb 调试 qemu u-boot 的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06

最新评论