Sometimes, I maintain a todo.md in the root of my projects for personal use. Not everyone on my team does this, so I can’t add it to the .gitignore file. Doing that would affect the whole team’s configuration, and this is just my thing.

Instead, I add this file to .git/info/exclude. It works like a local .gitignore and keeps the file from being staged. Since its only in my setup, nothing gets committed to the repo. It’s like having my own personal .gitignore!

Sources