The only non intuitive thing might be, that calling e.g. 'git undo' twice doesn't undo the last two changes, but the
first undos the last change and the second one undos the undo.
You can't change the commit message of a commit without changing the commit, which in most cases is a bad idea, if you don't know pretty much exactly what your doing.
Replacing one heuristic with another won't make this a stable operation.
A lot of people had already the idea to encode relevant information inside of documentation and it was always a bad idea in the long run.