Git配置多用户,区分你的Workspace和Personal space

在工作与学习之间,我们难免会用到两个甚至更多的git账户,为了避免账户之间的混淆,可以在本地配置不同的账户来区分。通常划分的方式有两种,

  1. 按工程配置多用户
  2. 按目录配置多用户

这里是git的文档,长的很啊。

1. 按工程配置

git的配置变量可以放在三个地方:

  1. /etc/gitconfig 系统配置,对所有用户都生效。
  2. ~/.gitconfig 用户配置,仅对当前用户生效。
git config --global user.name "yourName"
git config --global user.email "yourEmail"
  1. 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 = [email protected]

[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配置。

注意:

  1. 文件~/.gitconfig里面的includeIf后面的path最后需要/结尾
  2. 文件~/.gitconfig里面原有的user部分需要删除,注释的话开头用#
  3. 个人工程目录和公司工程目录不能是包含关系。

现在在当前目录新建(touch + 文件名)两个文件,.gitconfig-self.gitconfig-work,如图所示,
现在有三个文件

个人工程配置文件~/.gitconfig-self:

[user]
    name = yourname-self
    email = [email protected]

公司工程配置文件~/.gitconfig-work:

[user]
    name = yourname-work
    email = [email protected]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章