As a developer who often needs to revert other developers' screwups (and sometimes my own): "git show COMMIT_ID -- somefile | git apply -R"
Details: `git show <COMMIT_ID>` gives you the patch identified by COMMIT_ID. Appending ` -- somefile` narrows that patch down to only include the specified path.
The `-R` option to `git apply` tells it to apply the patch in reverse.
Thus, "undo the changes in `somefile` from this commit".