【问题标题】:Git global core.fileMode false overridden locally on cloneGit global core.fileMode false 在克隆时被本地覆盖
【发布时间】:2015-05-22 08:51:27
【问题描述】:

阅读this,我能够将我的fileMode 配置全局和本地配置为false。

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

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

【问题讨论】:

    标签: git config


    【解决方案1】:

    Clone 与 init 一样,在创建新存储库时始终设置本地 core.filemode。有关详细信息,请参阅我对this question 的回答。克隆后破坏本地设置的唯一方法是手动执行(例如,通过使用执行克隆的包装器命令,然后进入克隆并删除设置)。

    【讨论】:

    • 嘿 =) 感谢您的回答。 “Clone 与 init 一样,在创建新存储库时始终设置本地 core.filemode”。真的没有办法配置它设置 fileMode 的事实吗? =/
    • @CyrilCHAPON:有一个构建时选项(再次,请参阅其他答案),因此您可以调整构建。该选项使这比仅仅修改源更容易,但也不是很容易。 :-)
    • 知道了,谢谢。羞耻它的设计方式,但你回答了我的问题
    • 我也很伤心和困惑为什么git init 会覆盖全局设置...“包装器命令”的一个例子是像ginit() { git init --config core.filemode=false; } 这样的 Bash 函数 或 shell 别名,例如alias ginit="git init --config core.filemode=false"(我不建议用别名覆盖原始命令本身)
    • @SteveBenner:为什么是 Git 的核心开发人员打算(并且可能仍然打算)core.fileMode 反映文件系统本身的属性,而不是用户选择的设置。我完全不确定我是否同意核心开发人员,但这就是他们为什么这样做的原因。
    【解决方案2】:
    git clone --config core.filemode=false YOUR_REPOSITORY
    

    更多信息参考git clone的使用信息,或者直接输入:

    git clone
    

    没有任何参数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-09
      • 2011-12-14
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      • 2021-10-01
      • 1970-01-01
      相关资源
      最近更新 更多