我正在設置My First Git Repo,並且正在運行;提交時如何評估Git配置?
git config --list
我注意到我有多個條目的某些配置值;
core.autocrlf=input
[...]
core.autocrlf=false
我猜這些值,因爲它們出現在不同的配置文件(系統,全局文件)的多於一個的彎了腰。我的問題是,這些值中的哪一個優先?配置文件是逐行讀取的,最後一個條目是在提交期間使用的嗎?
我正在設置My First Git Repo,並且正在運行;提交時如何評估Git配置?
git config --list
我注意到我有多個條目的某些配置值;
core.autocrlf=input
[...]
core.autocrlf=false
我猜這些值,因爲它們出現在不同的配置文件(系統,全局文件)的多於一個的彎了腰。我的問題是,這些值中的哪一個優先?配置文件是逐行讀取的,最後一個條目是在提交期間使用的嗎?
從該MYYN借來的,這些都是三個地方找到配置文件:
好吧,想象一下,你在全球範圍內設置你的電子郵件爲[email protected]。現在,我們做一個新的回購協議:
$ cd /tmp
$ mkdir try && cd try
$ git init
$ git config user.email [email protected]
$ touch hi
$ git -add .
$ git commit -m 'bla'
然後,您user.email將被設置爲兩個值:
$ git config --list | grep niko.schwarz
[email protected]
[email protected]
但是,如果你看一下日誌,電子郵件地址將被設置爲具體到回購:
$ git log | grep niko.schwarz
Author: Niko Schwarz <[email protected]>
Signed-off-by: Niko Schwarz <[email protected]>
因此,本地節拍全球,這是值列出的順序。現在,隨着信念的飛躍,我確實假設git config --list以一種使後者優先的順序顯示事物。
如果不--file
明確設置,有三個文件,其中git-config
將配置選項進行搜索:
$GIT_DIR/config
~/.gitconfig
(--global
)
$(prefix)/etc/gitconfig
如果沒有其他選項,所有閱讀選項將讀取所有這些可用的文件。如果全局或系統範圍的配置文件不可用,它們將被忽略。
的.git/config
文件中的每個儲存庫用於存儲配置該存儲庫中,並且$HOME/.gitconfig
用於存儲每個用戶的配置作爲用於.git/config
文件後備值。文件/etc/gitconfig
可用於存儲系統範圍的默認配置。
優先級應該從最一般的到存儲庫特定的條目。
或者更上口(從借來的Niko):local beats global
感謝您的回答,但不能讓我意識到我可能已經完成這個簡單的測試自己;恥辱! ;) – Mathew 2009-12-10 15:36:46
非常歡迎:) – nes1983 2009-12-10 15:45:56