O GitHub tem uma boa seção chamada " Lidando com erros de " avanço não rápido " "
Este erro pode ser um pouco esmagador no começo, não tenha medo.
Simplificando, o git não pode fazer a alteração no controle remoto sem perder os commits, por isso recusa o push .
Geralmente, isso é causado por outro usuário empurrando para o mesmo ramo. Você pode remediar isso buscando e mesclando a ramificação remota ou usando pull para executar as duas coisas ao mesmo tempo.
Em outros casos, esse erro é resultado de alterações destrutivas feitas localmente usando comandos como git commit --amendou git rebase.
Embora você possa substituir o controle remoto adicionando --forceao pushcomando, você deve fazê-lo apenas se tiver certeza absoluta de que é isso que deseja fazer.
O envio forçado pode causar problemas para outros usuários que buscaram a ramificação remota e é considerado uma má prática. Em caso de dúvida, não force .
O Git não pode fazer alterações no controle remoto como uma mesclagem de avanço rápido, o que uma Referência do Visual Git ilustra como:

Esse não é exatamente o seu caso, mas ajuda a ver o que é o "avanço rápido" (onde o HEADramo de uma filial é simplesmente movido para um novo commit mais recente).
O " branch master->master (non-fast-forward) Already-up-to-date" é geralmente para filiais locais que não rastreiam sua contraparte remota.
Veja, por exemplo, esta pergunta do SO "o git pull diz que está atualizado, mas o git push rejeita o avanço não rápido ".
Ou os dois ramos estão conectados, mas em desacordo com a respectiva história:
Consulte " História interminável do GIT - o que estou fazendo de errado aqui? "
Isso significa que seu ramo de subversão e seu ramo mestre remoto do git não concordam com nada.
Alguma mudança foi enviada / confirmada para uma que não está na outra.
Acenda gitk --all, e deve lhe dar uma pista do que deu errado - procure por "garfos" na história.