Eu tive o mesmo problema e acredito que tem a ver com o tamanho do repositório (editado ou o tamanho de um arquivo específico) que você está tentando enviar.
Basicamente, eu fui capaz de criar novos repositórios e empurrá-los para o github. Mas um existente não funcionaria.
O código de erro HTTP parece fazer o backup, é um erro 'Comprimento Necessário'. Portanto, talvez seja muito grande para calcular ou ser melhor que o valor máximo. Quem sabe.
EDITAR
Descobri que o problema pode ser arquivos grandes. Eu tive uma atualização que não seria enviada, apesar de ter sido bem-sucedida nesse ponto. Havia apenas um arquivo no commit, mas era de 1,6 milhão
Então eu adicionei a seguinte alteração de configuração
git config http.postBuffer 524288000
Para permitir até o tamanho de arquivo 500M e, em seguida, meu envio funcionou. Pode ter sido que esse foi o problema inicialmente com o envio de um grande repositório ao longo do protocolo http.
EDIT FIM
a maneira que eu consegui que funcionasse (EDIT antes de modificar o postBuffer) era tar meu repositório, copiá-lo para uma máquina que pode executar git sobre ssh e enviá-lo ao github. Então, quando você tenta fazer um push / pull do servidor original, ele deve funcionar em https. (já que é uma quantidade muito menor de dados do que um envio original).
Espero que isto ajude.