Prevenindo de empurrar ramos de recursos muito grandes

Quando você é atribuído a uma solicitação pull que contém dezenas de arquivos e centenas de alterações, é certo que a maior parte da revisão não será feita completamente. Você não pode simplesmente ‘processar’ essa quantidade de informação sem ficar preso no caminho. Você pode, em vez disso, controlar algum ‘guarda’ que irá prevenir esse mau comportamento. Isso pode ser feito no git pre-push hook, mas Travis seria uma escolha melhor. Vejo:

# .git/hooks/pre-push
limit
=1000
count
=$(git diff head --not master --shortstat | sed "s/[^[:digit:].-]/ /g" | awk '{ print $2+$3 }')

if [ $count -ge $limit ]; then
echo
'Too many changes! Please reduce the size of the pull request'; exit 1
else
exit
0
fi