1.按工程配置多用户
-
a.
/etc/gitconfig
系统配置,对所有用户生效 -
b.
~/.gitconfig
用户配置,仅对当前用户生效git config --global user.name "yourname" git config --global user.email "yourEmail"
-
c.
projectRootPath/.git/config
项目根目录配置,仅对当前项目生效,进入工程根目录执行git config user.name "yourname" git config user.email "yourEmail"
三层优先级 c-b-a,项目少还行,多的话很头疼,所以就有了下面这个方法
2.按目录配置多用户
git 2.13.0 版本包含了一个新功能 includeIf
配置,可以吧匹配的路径使用对应的配置用户名和邮箱
在 ~/
下放三个配置文件
- .gitconfig 全局通用的配置文件
- .gitconfig-github github 上的配置文件
- .gitconfig-gitlab gitlab 上的配置文件
.gitconfig
里的内容是,主要通过 includeIf
配置匹配不同的目录映射到不同的配置文件上
[core]
editor = vim
quotepath = false
[includeIf "gitdir:/data/workspace/gitlab/"]
path = .gitconfig-gitlab
[includeIf "gitdir:/data/workspace/github/"]
path = .gitconfig-github
github 配置文件:~/.gitconfig-github
[user]
email = yourEmail-github
name = yourname-github
gitlab 配置文件:~/.gitconfig-gitlab
[user]
email = yourEmail-gitlab
name = yourname-gitlab
注意:
-
文件~/.gitconfig 里面的 includeIf 后面的 path 最后需要/结尾
-
文件~/.gitconfig 里面原有的 user 部分需要删除
-
个人工程目录和公司工程目录需要要求是非包含关系,就是这两个工程目录配置路径不可以是父子关系。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于