коммиты ты делаешь тогда, когда считаешь нужным что-то зафиксировать, чтобы потом можно было эти изменения обратить, например.
push-ишь ты тогда, когда хочется поделиться своими наработками с внешним миром.
то есть, ты можешь вообще создать локальный репозиторий и никогда не пущить (муахаха) или пущить раз в неделю/месяц/год.
Можешь уехать на необитаемый остров и там работать спокойно, потом приехать в цивилизацию и всё влить в гитхаб.
В этом прелесть децентрализованных систем контроля версий в противоположность централизованным (например, svn)