Git commit without --allow-empty.
Create commit only when the repo is not clean.
Fix tests.
Add test for clean repository.