When rewriting Git commit history in a monorepo setup, case-sensitive rename operations can cause history divergence if `core.ignoreCase` is set to `true`. On case-insensitive filesystems (macOS APFS, Windows NTFS), Git may treat a case-sensitive rename as a deletion, causing the rewritten history to differ from the original. The fix is to set `core.ignoreCase=false` before running history-rewriting operations like `git-filter-repo`, then redo the operation. Fresh clones on case-insensitive filesystems will automatically reset this setting, so it must be explicitly configured each time.

3m read timeFrom embeddedartistry.com
Post cover image
Table of contents
Short SummaryProblem BackgroundThe Difference in Commit HistoryThe SolutionReferences
26 Impressions