在工作与学习之间,我们难免会用到两个甚至更多的git账户,为了避免账户之间的混淆,可以在本地配置不同的账户来区分。通常划分的方式有两种,
- 按工程配置多用户
- 按目录配置多用户
这里是git的文档,长的很啊。
1. 按工程配置
git的配置变量可以放在三个地方:
/etc/gitconfig系统配置,对所有用户都生效。~/.gitconfig用户配置,仅对当前用户生效。
git config --global user.name "yourName"
git config --global user.email "yourEmail"
projectRootPath/.git/config项目根目录配置,仅对当前项目生效
git config user.name "yourName"
git config user.email "yourEmail"
注意,三种方式的优先级为 3 > 2 > 1。
2. 按目录配置
2017年,git发布的版本2.13.0包含了一个新的功能includeIf配置,可以把匹配的路径使用对应的配置用户名和邮箱。
以下操作以OS系统为例,
在 ~/目录下面存在git的配置文件.gitconfig
一般内容如下,
[user]
name = yourname-self
email = yourname-self@gmail.com
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
首先修改默认的全局通用配置文件~/.gitconfig,里面的内容主要是通过includeIf配置匹配不用的目录映射到不同配置文件上,例如,
[includeIf "gitdir:~/Github/"]
path = .gitconfig-self
[includeIf "gitdir:~/Workspace/"]
path = .gitconfig-work
这里意为在~/Github/目录下放自己的代码,~/Workspace/目录放公司的代码,分别匹配对应的git配置。
注意:
- 文件
~/.gitconfig里面的includeIf后面的path最后需要/结尾- 文件
~/.gitconfig里面原有的user部分需要删除,注释的话开头用#或;- 个人工程目录和公司工程目录不能是包含关系。
现在在当前目录新建(touch + 文件名)两个文件,.gitconfig-self和.gitconfig-work,如图所示,

个人工程配置文件~/.gitconfig-self:
[user]
name = yourname-self
email = yourname-self@gmail.com
公司工程配置文件~/.gitconfig-work:
[user]
name = yourname-work
email = yourname-work@yourCompanyName.com
本文详细介绍了如何在本地配置多个Git账户,避免工作与学习账户混淆。提供了两种配置方法:按工程配置和按目录配置,后者利用了Git 2.13.0新增的includeIf功能,实现不同目录下使用不同账户。
588

被折叠的 条评论
为什么被折叠?



