因為平常開發環境除了工作用外還有私人的 GitHub 帳號,常常會發生忘記修改 repo 設定的烏龍,例如 clone
以後忘記修改 name
和 email
屬性。
自己習慣會將私人跟公司用的 repo 分開放在不同目錄,所以可以在平常放公司專案的目錄下新增一個設定檔
[user] name = phate_wang email = phate_wang@gss.com.tw
接著在原有的 ~/.gitconfig 中加入以下設定,使用 gitdir
條件來讓在 ~/work 下的所有 git repo 套用上述的設定檔。
[includeIf "gitdir/i:~/work/"] path = ~/work/gss.inc
如果不確定設定值從哪邊來的話可以用 --show-origin 查詢
> git config --show-origin --get user.email file:C:/Users/phate/work/gss.inc phate_wang@gss.com.tw
用這種方式當遇到有些專案要區分不同 CRLF 設定問題時,也可以用相對應的設定檔處理。
另外除了 gitdir
條件外,目前還有 onbranch
可以針對不同分支設定。