Git supports three ignore file locations: .gitignore (committed), .git/info/exclude (per-repo, uncommitted), and ~/.config/git/ignore (global). The author discovered .git/info/exclude and ~/.config/git/ignore as alternatives to .gitignore for keeping personal files out of version control without sharing them with collaborators.