Git global core.fileMode false在克隆上被本地覆盖

Git global core.fileMode false在克隆上被本地覆盖,git,config,Git,Config,通过阅读,我能够将我的fileModeconfig全局和本地配置为false 但是,当我git clone时,git会继续初始化项目,并将本地配置强制设置为fileMode true,以便覆盖我的全局false。因此,对于每个项目,我要么删除本地配置,要么手动将其设置为false,这完全失去了全局配置的意义 在默认情况下,如何防止git在每个项目上本地设置此配置?这是由另一个配置变量驱动的吗?通过服务器?克隆与init一样,在创建新存储库时总是设置本地核心.filemode。有关详细信息,请参阅

通过阅读,我能够将我的
fileMode
config全局和本地配置为false

但是,当我
git clone
时,git会继续初始化项目,并将本地配置强制设置为
fileMode true
,以便覆盖我的全局
false
。因此,对于每个项目,我要么删除本地配置,要么手动将其设置为
false
,这完全失去了全局配置的意义


在默认情况下,如何防止git在每个项目上本地设置此配置?这是由另一个配置变量驱动的吗?通过服务器?

克隆与init一样,在创建新存储库时总是设置本地
核心.filemode
。有关详细信息,请参阅我对的答复。克隆后关闭本地设置的唯一方法是手动执行(例如,通过使用执行克隆的wrapper命令,然后进入克隆并删除设置)

有关更多信息,请参阅git clone的使用信息,或者只需输入:

git clone

没有任何争论

Hey=)谢谢你的回答。“克隆与init一样,在创建新存储库时总是设置本地
core.filemode
。”。而且根本没有办法配置它设置文件模式的事实=/@CyrilCHAPON:有一个构建时选项(同样,请参阅其他答案),所以您可以调整您的构建。该选项使这比仅修改源代码要容易一些,但不是简单得多。:-)明白了,谢谢。它的设计方式令人羞愧,但你回答了我的问题。我也很难过和困惑,为什么
git init
会覆盖全局设置。。。“包装器命令”的一个示例是Bash函数,如
ginit(){git init--config core.filemode=false;}
或shell别名,如
alias ginit=“git init--config core.filemode=false”
(我不建议用别名覆盖原始命令本身)@SteveBenner:为什么Git的核心开发人员打算(而且可能仍然打算)
core.fileMode
反映文件系统本身的属性,而不是用户选择的设置。我不确定我是否同意核心开发者的观点,但这就是他们这么做的原因。
git clone