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]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章