Как пушить только безошибочный код?
Пользоваться code review системами.
Github, bitbucket, gerrit, gitolite и др.
Ставишь, настраиваешь доступ к гиту через эту систему, запрещаешь прямой коммит в master или release бренч, чотбы все разработчики делали свои feature ветки и разрабатывали в них, а потом создавали пулл реквест на мерж в мастер.
И тестирование работы проверяли до мержа на своей ветке. Мержить - только после проверки.
Использовать WebStorm. При отправке в репозиторий, по-умолчанию, WebStorm проводить проверку кода.