I also considered that, but it'd require shortening the lifetime of a git branch to also capture interruptions across projects, meetings, etc. So the more you increase accuracy, the more tedious this gets.
git checkout -b feature_a
<do work>
git checkout master
git merge feature_a
probably about 10 seconds of effort, over the course of 1-3 days of coding time.