I wrote about what I do to preserve a file’s Git history across renamings: Tracking renamed files in Git https://oleb.net/2025/git-file-renaming/ #git
Tracking renamed files in Git

I used to think git mv was unnecessary, but using it right actually helps preserve a file’s Git history across renames.

Ole Begemann
My first blog post in nearly 2 years. And if I’m honest I only managed to write this up to keep the yearly streak alive. Writing anything for publication takes so much effort. Hats off to everybody who manages to do this regularly.
One more thought on `git mv`: it’s very useful when changing the case of a filename on a case-insensitive file system (which is the default on macOS). https://oleb.net/2025/git-mv-case-change/ To prevent the filenames recorded in Git and the file system from diverging.
Use 'git mv' to record filename case changes in Git

If you’re on a case-insensitive a file system and change the case of a filename, Git will not record the new name — unless you use git mv to perform the renaming.

Ole Begemann
@ole is Advanced Swift book going to be updated in the near future?