首页 > 其他分享 >使用Git进行版本控制,不同的项目怎么设置不同的提交用户名和邮箱呢?

使用Git进行版本控制,不同的项目怎么设置不同的提交用户名和邮箱呢?

时间:2023-03-11 14:24:56浏览次数:50  
标签:Git 配置文件 版本控制 配置 git 邮箱 config 用户名

1.全局设置用户名和邮箱

因为平时除了开发公司项目还会写自己的项目或者去维护开源项目,一般情况下,公司会要求提交代码时使用自己的真名或者拼音和公司邮箱,以前就只会设置全局用户名或邮箱如下

git config --global user.name "username"
git config --global user.email "[email protected]"

但是在维护非公司的项目时,肯定不能暴露自己的姓名和邮箱啊?所以我们面临这个问题:不同的项目怎么设置不同的提交用户名和邮箱呢?

2.配置单个项目提交用户名和邮箱

其实就是不直接使用全局配置的用户名和邮箱,而是对某个项目单独配置用户名和邮箱。在当前项目下打开Git命令行,配置如下

git config user.name "username"
git config user.email "[email protected]"

之后可以打开 .git/config 文件看配置生效如下

[user]
        name = username
        email = [email protected]

3.批量配置项目的提交用户名和邮箱

当有多个项目需要配置Git提交信息时,一个一个配置麻烦而且容易疏漏,那就可以使用git的includeIf配置一次性给多个项目配置提交用户名和邮箱,来实现在某文件夹下的所有git项目统一使用同一个git配置文件。

  1. 首先将个人维护的项目,统一放到同一个路径下。比如:D:\projects
    首先将个人维护的项目,统一放到同一个路径下
  2. 创建一个.gitconfig文件,配置信息:
[user]
        name = username
        email = [email protected]
  1. 修改Git的用户配置文件 .gitconfig,这个配置文件路径一般都是 C:\Users\用户名\.gitconfig 。添加配置信息如下
# 配置demo项目
[includeIf "gitdir/i:~/projects/"]
        path = ~/.gitconfig

配置后所有在 projects 这个路径下的项目的配置信息就直接使用 projects/.gitconfig 中的配置了。

注:配置文件优先级及路径基本语法

  • Git支持多级配置,分别是system(系统级)、global(用户级)、local(项目级)和worktree(工作区级)
  • 配置优先级: worktree > local > global > system
system系统级(安装路径/etc/gitconfig): 系统级配置文件,对系统中所有用户都普遍适用的配置。使用 git config --system读写的就是这个文件。

global用户级(C:/Users/用户名/.gitconfig): 用户级配置文件,用户目录下的配置文件只适用于该用户。使用 git config --global读写的就是这个文件。

local项目级(某仓库的本地路径/.git/config): 项目级配置文件,当前项目的 git仓库目录中的配置文件(也就是工作目录中的 .git/config 文件),这里的配置仅仅针对当前项目有效。使用 git config --local或 省略 local参数,读写的就是这个文件。

worktree工作区级: 工作区级配置,此配置仅仅针对当前工作区有效。使用 git config --worktree进行配置。

每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
  • 基本语法
在2017年,git新发布的版本2.13.0包含了一个新的功能includeIf配置,可以把匹配的路径使用对应的配置用户名和邮箱;

"条件类型:匹配模式" 是 includeIf 的条件;只有当条件成立时,才会包含 path 选项指定的配置文件;

条件类型 和 匹配模式 用 : 分隔;

条件类型 共有以下几种 gitdir、gitdir/i、onbranch;

	gitdir、gitdir/i: 路径匹配模式,表示 如果 当前 git仓库的 .git 目录的位置 符合 路径匹配模式, 就加载对应的配置文件;(gitdir/i表示 匹配模式忽略大小写)
	.git 目录的位置可能是 git 自动找到的 或是 $GIT_DIR 环境变量的值;
	onbranch: 分支匹配模式, 表示 如果我们位于当前检出的分支名称 与 分支匹配模式 匹配的工作树中,就加载对应的配置文件;

匹配模式 采用标准的 glob 通配符 再加上 表示任务路径的通配符 **;

path 用于指定配置文件的路径;

可以通过写多个 path 来表示包含多个配置文件。

如有错漏之处,敬请指正。

标签:Git,配置文件,版本控制,配置,git,邮箱,config,用户名
From: https://www.cnblogs.com/LucasMeng/p/17205952.html

相关文章

  • gcc 10+ 编译 git第一个提交(本文会持续修改)
    安装gcc10+在编译的时候有时会出现multiple-definition的错误。(会从源码编译gcc的可以路过)。 实在想不出解决重定义的办法。但有一种凑活的办法:cache.h中添加#includ......
  • node版本控制工具nvm安装教程
    1.卸载node,后删除node文件夹里的所有内容2:安装nvm管理工具(1)下载地址:https://github.com/coreybutler/nvm-windows/releases(2)设置nvm安装目录,再设置node安装目录3......
  • Git 常用命令备忘录
    转载至:Git命令使用Git有很多不同的方法。Git支持许多命令行工具和图形化的用户接口。Git的命令行是唯一可以运行所有Git命令的地方。下面这组命令将帮助你了解如何......
  • git修改分支名称
    假设分支名称为oldName,想要修改为newName。1.本地分支重命名(还没有推送到远程)gitbranch-moldNamenewName2.远程分支重命名(已经推送远程-假设本地分支和远程对应......
  • 10分钟快速掌握分布式版本控制系统GIT命令集【形成知识体系篇】
    任务要求要求全部使用git命令实现1、创建本地仓库,项目名称为hniu_site2、在仓库下创建多级(目录)文件夹cn/hniu/班级名称(例如软件2108,cn/hniu/rj2108)3、在班级名称下新......
  • Git踩坑日记:git push 上传失败报错:Your push would publish a private email addres
    这个问题直译出来就是你的git账号邮箱未设置为公开邮箱下面给两个平台的解决方法解决方法:一般来说大部分都是这两个平台:码云和Github1.码云右上角我的-->设置 参......
  • IDEA集成Git
    本人的IDEA版本是2021.1,操作过程中UI可能略有不同,但大体是一样的。配置Git忽略文件1.为什么要忽略它们​ 与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能......
  • git命令集合
    一、基本的linux命令cd进入某个目录pwd显示当前目录路径ls(ll)列出当前目录的文件ll就是ls-l,列出详细信息touch新建一个文件rm删除要给文件,加上-rf,就是强制删......
  • GIT修改本地分支名称和远程分支名称
    重命名自己本地的分支gitbranch-m原分支名称新分支名称删除远程自己的原分支gitpush--deleteorigin自己的原分支名称推送新命名的分支gitpushorigin新分......
  • git - 报错信息汇总
    使用过程中遇到的报错信息记录...$gitaddreadme.mdfatal:notagitrepository(oranyoftheparentdirectories)#Git命令必须在Git仓库目录内执行(gitinit......