使用Git进行版本控制,不同的项目怎么设置不同的提交用户名和邮箱呢?
1.全局设置用户名和邮箱
因为平时除了开发公司项目还会写自己的项目或者去维护开源项目,一般情况下,公司会要求提交代码时使用自己的真名或者拼音和公司邮箱,以前就只会设置全局用户名或邮箱如下
git config --global user.name "username"
git config --global user.email "username@email.com"
但是在维护非公司的项目时,肯定不能暴露自己的姓名和邮箱啊?所以我们面临这个问题:不同的项目怎么设置不同的提交用户名和邮箱呢?
2.配置单个项目提交用户名和邮箱
其实就是不直接使用全局配置的用户名和邮箱,而是对某个项目单独配置用户名和邮箱。在当前项目下打开Git命令行,配置如下
git config user.name "username"
git config user.email "username@email.com"
之后可以打开 .git/config 文件看配置生效如下
[user]
name = username
email = username@email.com
3.批量配置项目的提交用户名和邮箱
当有多个项目需要配置Git提交信息时,一个一个配置麻烦而且容易疏漏,那就可以使用git的includeIf配置一次性给多个项目配置提交用户名和邮箱,来实现在某文件夹下的所有git项目统一使用同一个git配置文件。
- 首先将个人维护的项目,统一放到同一个路径下。比如:D:\projects
- 创建一个.gitconfig文件,配置信息:
[user]
name = username
email = username@xxx.com
- 修改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使用笔记一(关于如何设置密钥及提交)(Windows)
如何设置密钥 ssh-keygen -t rsa或ssh-keygen -t rsa -C ‘邮箱’ (注意 1.-t前有一个空格:2.keygen是key generate的缩写:3.而后连续输入三 ...
- Git使用详细教程(2):配置用户名和邮箱
首先,说下最常用的设置用户名和邮箱的命令 git config --global user.name 'xxx' //设置用户名 git config --global user.email 'xxx ...
- git 学习记录—— git 中的仓库、文件状态、修改和提交操作等
最近开始学习使用版本控制工具 git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...
- git用户名和邮箱配置
1. 设置全局用户名和邮箱 git config --global user.name "xxx" git config --global user.email "xxx ...
- git 命令修改commit时的用户名和邮箱地址
1.介绍 在git的用户名和邮箱是有一个仓库和全局之分的,在利用vs插件是也有显示:
- Git分布式版本控制教程
Git分布式版本控制Git 安装配置Linux&Unix平台 Debian/Ubuntu $ apt-get install git Fedora $ ) $ dnf and later) G ...
- git分布式版本控制玩法
git分布式版本控制玩法 Git distributed version control play github的配置安装步骤:1.下载git bash(从http://www.git-scm.com ...
- git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用
1.git常用命令 查看命令: 1.git --help 查看git所有命令 2.git clone -help 查看git clone命令的细节 3.git config -l 查看当前所有配置 ...
- 使用git向github中添加项目并更新(备忘录)
今天使用Git&github&ST3时,发现ST3不仅是git插件不能push成功,使用sublimegit插件也不行. 可能是没有掌握sublimegit的使用技巧,有待后续继续摸索 ...
- git管理和自动部署项目
当一个项目需要纳入到版本控制的时候,选择的工具还是比较多的,最常见的就是工具有CVS,SVN,GIT等.在平时的开发中视情况而定,从来就没有最好的版本控制工具,只有最适合的工具.在这里我习惯用git来 ...
随机推荐
- 你不知道的JavaScript--作用域
用简单的代码 展示代码的魅力 1.在浏览器里,在全局范围内,this等价于windo ...
- Appium自动化测试之键盘操作pressKeyCode()方法(Android特有)
电话键 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_MENU 菜单键 82 KEYCODE_BACK ...
- NavicatPremium16破解!!!!!亲测可用!!!!!!!!!!!!!!!!!
前言 Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL.SQLite.Oracle 及 PostgreSQL 资料库,让 ...
- arm开发环境搭建
1.smaba 在Linux PC安装smaba sudo apt-get install samba编辑/etc/samba/smb.conf配置:[yz]path = /home/yzv ...
- css中双冒号和单冒号区别
:--是指的伪类 ::--是指的伪元素 1.字面意思: 伪类,1.css中有类选择器,某些元素并未定义类名,就可以通过伪类赋予样式,如:[:nth-child(n)]:2.伪类可以应用于元素执行某种状 ...
- Vue3 + Vue Router 4.x 添加过渡动效报错
1. 报错信息 2. 报错原因 检查页面代码发现动效出错页面为多根节点,修改后动效正常 <template> <div> <div>xxx</div> ...
- jmeter设置支持https方法
2020-2-26,疫情影响下第一天上班,今年想把自己学到的测试方面的知识记录下来,方便自己方便有需要的人,废话不多说,开启第一篇随笔,jmeter设置. 最近在测接口性能,涉及https的接口,不知 ...
- StarUML画用例图
好久没画图在StarUML里都找不到useCase了,记下来不然又忘了 右击Untitled->Add Diagram->UseCase Diagram,然后左边就有UseCase了就可以 ...
- Vivado中综合,实现,编程和调试工程可能会出现的问题及解决方案
Xilinx公司的IDE(集成开发环境) Vivado用处广泛,学会使用Vivado对FPGA的学习至关重要,这里以PRX100-D开发板为例,对Vivado的学习使用进行探讨.本文将会持续更新,列出 ...
- Linux cut和磁盘
cut cut 选项: cut -d 指定分隔符 (awk -F) cut -f 数字,取第几列 –f3,6三列和6列 3-6(3到6行) cut -c 按字符取(空格也算) 指定冒号为分隔符,取第一 ...