.gitignore Already-Tracked File Finder
Adding a file to .gitignore does nothing if Git is
already tracking it — the single most common reason people think
their .gitignore is "broken." Paste your
.gitignore and your tracked file list
(git ls-files), and get the exact
git rm --cached commands to fix every offender.
Why doesn't adding a file to .gitignore stop Git from tracking it?
Because .gitignore only tells Git which
untracked files to skip when staging. Once a file is
already tracked (added and committed at some point), Git keeps
tracking every change to it forever, regardless of what
.gitignore says — the ignore rule and the tracking
decision are two separate things, and adding an ignore rule
never retroactively untracks a file.
How do I actually stop Git from tracking a file that's in my .gitignore?
Run git rm --cached <path> (or
git rm -r --cached <path> for a directory),
then commit. The --cached flag removes it from
Git's index only — the file stays exactly where it is on your
disk — and once it's untracked, your existing
.gitignore rule will keep it that way.
Where do I get my tracked file list?
Run git ls-files in your repo root and paste the
full output — one path per line, exactly as Git prints it.
Does this tool upload my file list or .gitignore anywhere?
No. Everything is matched entirely in your browser with plain
JavaScript — your file list and .gitignore
contents are never sent to a server.