Se ao executar um git push apareceu a mensagem:
ou
error: src refspec master does not match any
Significa que o Git não encontrou a branch que você tentou enviar para o repositório remoto.
Neste guia completo você vai aprender:
-
✅ O que significa esse erro
-
✅ Por que ele acontece
-
✅ Como corrigir em menos de 2 minutos
-
✅ Como evitar que aconteça novamente
📌 O Que Significa “src refspec does not match any”?
De forma simples:
O Git não encontrou a branch que você está tentando enviar.
Por exemplo:
git push -u origin main
Se a branch main não existir no seu repositório local, o Git retorna o erro.
🚨 Principais Causas do Erro
1️⃣ Você Ainda Não Fez Nenhum Commit
Esse é o motivo mais comum.
Se você rodou apenas:
git init
Mas não fez:
git add .
git commit -m "Primeiro commit"
O Git ainda não tem conteúdo para enviar.
✔ Como resolver:
git add .
git commit -m "Primeiro commit"
git push -u origin main
2️⃣ Nome da Branch Incorreto
Pode ser que sua branch se chame master, mas você está tentando enviar main.
Verifique com:
git branch
Se aparecer:
* master
Então o comando correto é:
git push -u origin master
3️⃣ Branch Ainda Não Foi Criada
Se quiser garantir que está usando main, execute:
git branch -M main
Depois:
git push -u origin main
4️⃣ Repositório Remoto Configurado Incorretamente
Confirme o endereço remoto:
git remote -v
Se estiver errado, reconfigure:
git remote remove origin
git remote add origin https://github.com/SEU_USUARIO/SEU_REPOSITORIO.git
✅ Solução Completa (Passo a Passo Seguro)
Se você quer resolver do zero, execute esta sequência:
git add .
git commit -m "Primeiro commit"
git branch -M main
git remote remove origin
git remote add origin https://github.com/SEU_USUARIO/SEU_REPOSITORIO.git
git push -u origin main
Isso resolve praticamente 100% dos casos.
💡 Dica Profissional
Hoje o padrão do GitHub é utilizar a branch main.
Sempre confirme o nome da branch antes de executar o push:
git branch
🧠 Como Evitar Esse Erro no Futuro
✔ Sempre faça commit antes do primeiro push
✔ Verifique o nome da branch
✔ Confirme o repositório remoto
✔ Use git status antes de enviar
❓ Perguntas Frequentes
Esse erro significa que perdi meu código?
Não. Seu código continua no seu computador. O erro apenas indica que o Git não conseguiu enviar a branch.
Posso usar --force para resolver?
Não é recomendado nesse caso. O problema normalmente é configuração, não conflito de histórico.
🎯 Conclusão
O erro “src refspec does not match any” acontece principalmente por:
Seguindo os passos acima, você resolve rapidamente e evita dores de cabeça futuras.

0 Comentários