簡體   English   中英

Git默認核心配置來自哪里

[英]Where are Git default core configurations coming from

我知道Git中系統配置,全局配置和本地配置之間的區別。 而且我知道本地配置存儲在.git / config文件中

但是,當我對存儲庫進行新的克隆時,本地配置已被填充,因此例如,我看到:

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true

我的問題是-這些默認本地配置來自何處,如何更改這些默認設置?

我知道我可以更改本地配置,但是有兩個問題:

  1. 下一個克隆將獲得相同的默認值,我不希望這樣
  2. 我為多個用戶維護一個存儲庫,所以我希望每個人都可以對其進行更改

提前致謝

我的問題是-這些默認本地配置來自何處,如何更改這些默認設置?

在大多數情況下,這些不是默認值 這不是您應該更改的配置,這是有關系統信息的緩存。

例如,當您創建存儲庫時,git會檢測您的文件系統是否區分大小寫。 它將core.ignorecase設置寫為緩存,以便將來不必再次檢測到它,否則對於每個git命令來說都是浪費時間。

您不應更改此設置; 它會影響git在文件系統中的運行方式。 同樣,它不是默認設置,而是系統檢測到的行為的緩存。

例外是logallrefupdates ,它實際上是配置。 但是,此克隆(與任何其他配置一樣)不能被克隆,您應該找到一種將配置帶外分發的機制(例如, init腳本)。

(但不要更改諸如core.ignorecase設置。)

您可以運行以下命令:

git config --list --show-origin

這將為您提供全局設置每個配置的文件列表。 更多細節可以在這篇文章中找到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM