当前位置: 首页 > article >正文

Git 多仓库提交用户信息动态设置

Git 多仓库提交用户信息动态设置

原文地址:dddhl.cn

前言

在日常开发中,我们可能需要同时管理多个远程仓库(如 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 等其他仓库则使用全局配置。这样就解决了不同仓库提交信息不一致的问题,避免了频繁切换用户名和邮箱的麻烦。


http://www.kler.cn/a/407270.html

相关文章:

  • Go语言中的内存分配与初始化:new与make函数详解
  • 借助算力云跑模型
  • Linux内核
  • 微信小程序技术架构图
  • Vue3-后台管理系统
  • 数据结构-8.Java. 七大排序算法(上篇)
  • 定时器的小应用
  • 先安装Ubuntu20.04,再安装win10实现双系统
  • 从0到1部署Tomcat和添加servlet(IDEA2024最新版详细教程)
  • (Java并发编程——JUC)常见的设计模式概念分析与多把锁使用场景!!理解线程状态转换条件!带你深入JUC!!文章全程笔记干货!!
  • AI编程和AI绘画哪个更适合创业?
  • TDK推出第二代用于汽车安全应用的6轴IMU
  • 【模块一】kubernetes容器编排进阶实战之pod生命周期、探针简介、类型及示例
  • PageHelper 分页total失效或当前页含数量不匹配问题解决方案 含原理分析
  • 博图unified Wincc自定义控件-json自动更新导航栏
  • 「Mac玩转仓颉内测版30」基础篇10 - 区间类型详解
  • CSS3_媒体查询(十一)
  • WPF触发器
  • 组合模式和适配器模式的区别
  • C++练级计划->《海量数据处理》面试题
  • 力扣面试经典 150(上)
  • 【MATLAB源码-第221期】基于matlab的Massive-MIMO误码率随着接收天线变化仿真,对比ZF MMSE MRC三种检测算法。
  • oracle查看锁阻塞-谁阻塞了谁
  • 【SLAM文献阅读】基于概率模型的视觉SLAM动态检测与数据关联方法
  • go 结构体方法
  • Ubuntu下安装Qt