gpt4 book ai didi

git core.ignorecase = false 在 Mac OS X 中

转载 作者:太空狗 更新时间:2023-10-29 14:35:26 33 4
gpt4 key购买 nike

我已经在本地和全局级别配置了 core.ignorecase=false ,但是当我执行 git checkout MASTER (不是 master ).我也做了 git branch -v 但没有显示 MASTER。

git checkout master
Switched to branch 'master'

git branch
* master

git checkout MASTER
Switched to branch 'MASTER'

git branch
master

我们可以看到 master 上现在没有 (*)。我知道 Mac OS X 文件系统不区分大小写,但是

a) 即使在此之后我们的操作系统控制它,core.ignorecase=false 的显着意义还有什么意义?

b) 如果 git 假定 MASTER 和 master 相同,为什么 master 分支上没有 (*)? [ 编辑:即使你让 core.ignorecase = true ,我们仍然会看到这个]

做 rev-parse ,都指向同一个 SHA1。

最佳答案

通过设置 core.ignorecase=false,您配置错误您的系统,您应该将其设置为正确的值,true,如果您期望 Git 表现得合理。来自 git-config手册:

Internal variable which enables various workarounds to enable Git to work better on filesystems that are not case sensitive, like APFS, HFS+, FAT, NTFS, etc. For example, if a directory listing finds "makefile" when Git expects "Makefile", Git will assume it is really the same file, and continue to remember it as "Makefile".

Git relies on the proper configuration of this variable for your operating and file system. Modifying this value may result in unexpected behavior.

正确的值在 macOS 上是 true,除非您专门将磁盘或分区格式化为区分大小写。所以你不应该改变这个值,除非 Git 选择的值是不正确的。例如,如果您将存储库从不区分大小写的卷复制到区分大小写的卷,则该值将不正确,因为 Git 在使用 git clone 创建存储库后不会探测该值git 初始化

我不确定您希望通过将此变量设置为 false 来实现什么,但实际发生的唯一事情是 Git 无法正常工作。


请注意,根据我的测试,如果您使用错误的大小写指定分支,Git 将无法在不区分大小写的文件系统上获得正确的分支名称。如果愿意,您可以将其称为 Git 中的错误,但从经验来看,在不区分大小写的文件系统上获得良好的行为可能很困难。

关于git core.ignorecase = false 在 Mac OS X 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52369109/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com