3 回答
TA貢獻1770條經驗 獲得超3個贊
Git檢查4個位置的配置文件:
您機器的系統
.gitconfig文件。您的用戶
.gitconfig文件位于~/.gitconfig。位于
$XDG_CONFIG_HOME/git/config或的第二個特定于用戶的配置文件$HOME/.config/git/config。本地repo的配置文件
.git/config。
設置按以下順序級聯,每個文件添加或覆蓋其上方文件中定義的設置。
系統配置
用戶配置。
特定于回購的配置。
您可以使用以下命令查看每個文件的定義:
# System, applies to entire machine and all users$ git config --system --list $ git config --system --edit# User defined$ git config --global --list $ git config --global --edit
您可以通過打開該repo的文件來查看repo特定文件的定義.git/config。
如果您在Windows上使用msysgit,則可能會在Windows命令提示符處找到您指向的用戶~/.gitconfig文件。%homepath%echo %homepath%
從以下文檔git config:
如果未明確設置
--file,則有四個文件git config將搜索配置選項:
$(prefix)/etc/gitconfig系統范圍的配置文件。
$XDG_CONFIG_HOME/git/config第二個特定于用戶的配置文件。如果
$XDG_CONFIG_HOME未設置或為空,$HOME/.config/git/config將使用。此文件中設置的任何單值變量都將被其中的任何內容覆蓋~/.gitconfig。如果您有時使用舊版本的Git,最好不要創建此文件,因為最近添加了對此文件的支持。
~/.gitconfig用戶特定的配置文件。也稱為“全局”配置文件。
$GIT_DIR/config存儲庫特定的配置文件。
如果沒有給出進一步的選項,所有閱讀選項將讀取所有可用的文件。如果全局或系統范圍的配置文件不可用,則將忽略它們。如果存儲庫配置文件不可用或不可讀,
git config則將以非零錯誤代碼退出。但是,在任何情況下都不會發出錯誤消息。按上面給出的順序讀取文件,找到的最后一個值優先于先前讀取的值。當獲取多個值時,將使用來自所有文件的鍵的所有值。
所有寫入選項都將默認寫入特定于存儲庫的配置文件。請注意,這也會影響
--replace-all和等選項--unset。git config只會一次更改一個文件。您可以通過命令行選項或環境變量覆蓋這些規則。在
--global和--system選項將限制分別用于全球或全系統文件的文件。該GIT_CONFIG環境變量有類似的效果,但您可以指定任何你想要的文件名。
TA貢獻1810條經驗 獲得超4個贊
在以前安裝了Git for Windows并隨后卸載之后,我發現在C:\ Users \ All Users \ Git \ config中安裝了一個配置文件,這是一個系統級配置文件,它會持續存在并將影響任何未來的mingw32 git包(就我而言,我正在運行我公司提供的便攜式mingw32 git包)。當我跑
git config --system --edit
它會顯示位于mingw32 / etc / gitconfig的系統配置文件,但仍會加載第一個位置的值。這顯示為在嘗試使用git lfs時配置值發生沖突的警告
WARNING: These git config values clash: git config "http.sslcainfo" = "C:/Users/foo/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt" git config "http.sslcainfo" = "/ssl/certs/ca-bundle.crt"
- 3 回答
- 0 關注
- 1115 瀏覽
添加回答
舉報
