阅读这篇文章后,我成功地将fileMode
配置在全局和本地都设为了false
。
然而,当我进行git clone
操作时,Git会强制使用本地配置中的fileMode true
来初始化项目,从而覆盖了我的全局配置false
。因此,对于每个项目,我都必须手动删除本地配置或将其设置为false
,这完全失去了拥有全局配置的意义。
我该如何防止Git默认在每个项目上设置此本地配置?这是否由另一个配置变量或服务器驱动?
克隆(Clone)和初始化(init)一样,在创建新仓库时总是会设置本地的core.filemode
。详情请参见我在这个问题的回答。在克隆后覆盖本地设置的唯一方法是手动执行(例如,使用包装命令进行克隆,然后进入克隆并删除该设置)。或者,如tst的回答和Steve Benner的评论所述,将-c core.filemode=false
添加到你的git clone
命令中(确保在动词clone
之后放置-c
选项)。
git clone --config core.filemode=false YOUR_REPOSITORY
如需更多信息,请参考git clone的使用信息,或直接输入:
git clone
没有任何参数
core.filemode
when it creates a new repository". 那么真的没有任何方法可以配置它设置的fileMode吗?=/ - Cyril CHAPONgit init
会覆盖全局设置... "包装命令" 的一个例子可以是 Bash 函数,如ginit() { git init --config core.filemode=false; }
或者 shell 别名,例如alias ginit="git init --config core.filemode=false"
(我不建议用别名来覆盖原始命令本身)。 - Steve Bennercore.fileMode
反映文件系统本身的属性,而不是用户选择的设置。我并不确定是否完全同意核心开发人员的观点,但那就是他们这么做的原因。 - torek