為不同的 Git Repository 設定不同的使用者

前言

在每次建立新的 Repository 時,都需要設定 Git 的 user 資訊,用來紀錄每次的 commit,這有助於識別是誰進行了修改,
但是如果是在不同項目有不同 user 資訊時,例如 工作項目 與 個人項目,就可能會想要使用不同的 user 與 email。

方法一:個別設定

最簡單的方式就是在每個 Repository 裡進行設定。

1
2
git config user.name "YOUR_NAME"
git config user.email "yourname@email.com"

但每次建立新專案時都要設定,容易忘記。

方法二:條件設定

從 Git 2.13 開始,引入了新的設定方式 conditional_includes,可以允許透過檔案的設定,讓 Git 自動根據當前正在使用的資料夾使用適當的設定,達到區分工作項目與個人項目的不同設定

首先,在 ~/.gitconfig 文件中加入以下的條件

1
2
[includeIf "gitdir:~/work/"]
path = ~/work/.gitconfig

然後,在 ~/work/.gitconfig 中設定你的 user name 和 email:

1
2
3
[user]
name = YOUR_NAME
email = your.work@email.com

這樣,當你在 ~/work/ 或 其子資料夾底下工作時,Git 將使用指定的使用者設定;而在其他的地方工作時,Git 就會使用預設的使用者設定

Reference

https://stackoverflow.com/questions/4220416/can-i-specify-multiple-users-for-myself-in-gitconfig