Git Config Flag -> messing around --landed-> Apple’s APFS

· mac, apfs, git

I was learning Git. Minding my own business. Running commands quietly, like a person with no weekend Plans. Then I ran this:

bash
git config --list --local

Output:

bash
core.ignorecase=true

well , Why does Git even need to care about case?


Case Sensitivity 101

It turns out the answer sits at the level of the filesystem itself. MacOS (HFS+, APFS) is case-insensitive, but case-preserving. Meaning you create File.txt, attempt file.txt afterwards, and macOS treats them as the same entity, while remembering which capitalisation you preferred. Linux is case-sensitive. File.txt and file.txt are two entirely distinct files, with no opinion about each other whatsoever. Git's core.ignorecase=true flag exists to prevent repositories from blowing out when developers switch between the two. A small flag carrying considerable weight.


Apple Filesystems

One question, as tends to happen, led to another. I found myself reading about HFS+, Apple's old filesystem, a relic of the late 1990s, kept alive well past its natural lifespan through what can only be described as determined engineering stubbornness. Then, in 2017, Apple released APFS Apple File System designed specifically for SSDs. Built for this century.
The difference was considerable.

HFS+ vs APFS
HFS+ vs APFS


APFS ?


The Takeaway

I need to learn about File System More. ;((