Skip to content
Latchkey

git rm: Usage, Options & Common CI Errors

git rm deletes files and stages the removal in one step.

Use git rm to delete tracked files; --cached untracks a file while keeping it on disk.

What it does

git rm removes files from both the working tree and the index, staging the deletion for the next commit. With --cached it removes only from the index, leaving the file in place.

Common usage

Terminal
git rm file.txt
git rm -r dir/                # recursive
git rm --cached secrets.env  # stop tracking, keep file
git rm -f file.txt           # force when modified/staged

Options

FlagWhat it does
--cachedRemove from index only, keep on disk
-rRecurse into directories
-f / --forceOverride the up-to-date safety check
-n / --dry-runShow what would be removed

Common errors in CI

error: the following file has staged content different from both the file and the HEAD / 'X' has changes staged in the index - git protects unsaved changes. Use -f to force, or git rm --cached to merely untrack (commonly after adding a path to .gitignore).

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →