self learn commit