選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
2 分鐘閱讀時間 (326 個字)

Git config includeif

20210331-091059 如何依照條件自動切換 Git 設定

前言

因為平常開發環境除了工作用外還有私人的 GitHub 帳號,常常會發生忘記修改 repo 設定的烏龍,例如 clone 以後忘記修改 nameemail 屬性。

查看設定檔文件後發現可以使用 includeIf 設定來讓 Git 依照不同條件引入不同的設定檔,方法如下。

依照目錄引入不同設定

自己習慣會將私人跟公司用的 repo 分開放在不同目錄,所以可以在平常放公司專案的目錄下新增一個設定檔

  • ~/work/gss.inc
[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 可以針對不同分支設定。

參考

擁抱開源 - AspNetBoilerplate(ABP) 框架簡介
PWA - 簡介與使用情境

相關文章

 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2024/05/01, 週三

Captcha 圖像