Implement commit, rollback and push