git log -p -- file answers the question but makes you scroll through every commit at once. git-file-history lists the commits that touched one file and opens each commit's diff in a terminal UI. It was inspired by ceuk/git-file-history.
git-file-history path/to/src/main.rs
The path can be relative or absolute, and the containing repository is resolved automatically. Files that no longer exist work as well, as long as an existing parent directory is inside the repository.