I do want to add something that I haven't read in this thread yet (or may have missed), since I explained it in a similar manner to a colleague today.
When working on personal projects, we honestly don't have anyone to deal with other than our own multiple personalities (who can, honestly, be complete schmucks that often forget the purpose of how or why something's been done.)
We don't just push to master. We represent and act as the almighty Master of the Project.
However... when working with a team, which should gently force a compliant adaptability in your habits, that change hasn't been applied yet. The commit you just pushed, won't be (and shouldn't be) directly to origin/master, or simply merged by yourself at the end of the day.
That commit has only been proposed, and - at this is point - it has nothing to do with what you've done, but needs to describe briefly what it will do if merged to master.
This is also why commits shouldn't be a day, or even an hours worth of work. They should be individual changes, responsible for what you're proposing it should do.
Now... why they call it a 'log' - which is defined as a record of past events, now giving what seems to be commands being yelled at the wall - that's a whole other issue.