It would be nice to provide optional behaviour (via checkbox in commit dialog):
I don't think that N1 is a good idea, because it will make the commit dialog more complicated. I would like to keep the dialogs as much simple and straight forward to use as possible.
Also, the commit is a local repository operation and you can always undone it via rollback or strip bad commits, but push operation can not be reverted (in most cases).
As for N2, I'll think about that. Maybe I can agree with dropdown commit button.