亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的Git配置中的設置來自哪里?

我的Git配置中的設置來自哪里?

Git
浮云間 2019-08-06 17:12:57
我的Git配置中的設置來自哪里?我注意到core.autocrlf我跑的時候有兩個列表git config -l$ git config -lcore.symlinks=falsecore.autocrlf=falsecolor.diff=autocolor.status=autocolor.branch=autocolor.interactive=truepack.packsizelimit=2ghelp.format=htmlhttp.sslcainfo=/bin/curl-ca-bundle.crtsendemail.smtpserver=/bin/msmtp.exediff.astextplain.textconv=astextplainrebase.autosquash=trueuser.name=nameuser.email=email@example.comcore.autocrlf=true最后3個(來自user.name)是我c:\users\username\.gitconfig文件中唯一的。所有其他的來自哪里?為什么core.autocrlf列出兩次?這是使用msysgit 1.8.3,我也安裝了SourceTree(Windows 7)。在SourceTree中,我取消選中“允許SourceTree修改全局Git配置文件”
查看完整描述

3 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

Git檢查4個位置的配置文件:

  1. 您機器的系統.gitconfig文件。

  2. 您的用戶.gitconfig文件位于~/.gitconfig。

  3. 位于$XDG_CONFIG_HOME/git/config或的第二個特定于用戶的配置文件$HOME/.config/git/config。

  4. 本地repo的配置文件.git/config。

設置按以下順序級聯,每個文件添加或覆蓋其上方文件中定義的設置。

  1. 系統配置

  2. 用戶配置。

  3. 特定于回購的配置。

您可以使用以下命令查看每個文件的定義:

# 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環境變量有類似的效果,但您可以指定任何你想要的文件名。


查看完整回答
反對 回復 2019-08-06
?
蝴蝶不菲

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"


查看完整回答
反對 回復 2019-08-06
  • 3 回答
  • 0 關注
  • 1093 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號