Fazer push — o que é, como funciona git push e quando é necessário

Autor: IT Sectr Publicado: 2026-08-01 Tempo de leitura: 6 min

Fazer push significa enviar commits locais para um repositório Git remoto, tornando-os acessíveis para outros membros da equipe. Após o push, as alterações aparecem no GitHub, GitLab ou Bitbucket. De acordo com o GitHub Octoverse 2024, mais de 10 milhões de commits são enviados diariamente para a plataforma. Git push é uma ação essencial para sincronizar o trabalho em uma equipe distribuída.

Principais pontos

  • Fazer push — enviar commits locais para um repositório remoto
  • Após o push as alterações se tornam visíveis para toda a equipe
  • Plataformas principais — GitHub, GitLab, Bitbucket
  • Push seguro — apenas para branches de funcionalidade, não diretamente para main
  • Hooks pre-push — verificação automática de código antes do envio

O que é um push no Git

Git push é um comando que transfere commits de um repositório local para um remoto. Ao contrário de um commit, que salva alterações apenas na máquina local do desenvolvedor, um push publica essas alterações para toda a equipe. Push é uma etapa obrigatória antes de criar um Pull Request e fazer deploy.

A arquitetura do Git assume que cada desenvolvedor trabalha em seu próprio repositório local. Os commits são criados localmente e se acumulam até que o desenvolvedor decida fazer push. Isso proporciona liberdade: você pode fazer muitos commits locais, experimentar e reescrever o histórico sem afetar os colegas.

bash
# Fazer push para o remote origin, branch main
git push origin main

# Enviar a branch atual para o remote com upstream
git push -u origin feature/new-dashboard

# Enviar todas as branches com nomes correspondentes
git push --all origin

# Force push com lease (push forçado seguro)
git push --force-with-lease

Após um push, o repositório remoto atualiza as refs (referências de branches) para apontar para os novos commits. Outros desenvolvedores podem obter essas alterações via git pull ou git fetch. Essa troca de commits forma a base do desenvolvimento colaborativo.

Como git push funciona

O comando git push compara branches locais e remotas e transfere apenas os commits faltantes. Git não reenvia todos os arquivos — ele transfere apenas o delta, tornando o push rápido mesmo para repositórios grandes. Protocolo Git usa transferência inteligente, que minimiza a quantidade de dados transmitidos.

Se a branch remota contiver commits que não estão presentes localmente, o push será rejeitado. Este é um mecanismo de proteção que evita perda de alterações. Nessa situação, o desenvolvedor deve primeiro executar git pull, mesclar as alterações e só então fazer push novamente. Uma alternativa é o force push, que sobrescreve a branch remota, mas deve ser usado com cautela.

ComandoAçãoQuando usar
git pushpush padrão para branch trackedenvio regular de alterações
git push -upush com configuração de upstreamprimeiro push de uma nova branch
git push --force-with-leaseforce push seguroapós rebase da sua branch
git push --forcepush forçadoapenas se tiver certeza de que não há colisões
git push --deleteexcluir branch remotalimpeza após mesclagem de branch

Entender repositórios remotos é fundamental para um push adequado. Normalmente, origin é o nome do repositório remoto padrão. O comando git remote -v mostra a lista de repositórios remotos e suas URLs. Você pode adicionar vários remotes (por exemplo, origin para o repositório principal e upstream para um fork).

Quando fazer push de alterações

A regra principal: faça push após cada etapa de trabalho logicamente concluída. Se um desenvolvedor terminou uma tarefa ou parte dela — é hora de fazer push. No entanto, fazer push de trabalho inacabado que quebra a compilação não é recomendado. Compilação não quebrada é o requisito mínimo para fazer push em qualquer branch.

No desenvolvimento em equipe, adota-se o seguinte ritmo: de manhã — git pull para obter alterações dos colegas, durante o dia — vários commits e um ou dois pushes, à noite — um push final de todas as tarefas concluídas. Quanto mais frequente um desenvolvedor faz push, menor o risco de conflitos de mesclagem e mais transparente o progresso do trabalho.

  • Após concluir uma tarefa — commitar e fazer push da solução final para a branch feature
  • Antes de sair — fazer push do trabalho inacabado para uma branch feature (não para main!)
  • Antes de criar um PR — garantir que todos os commits foram enviados e estão disponíveis para revisão
  • Após rebase — fazer push com --force-with-lease para sua branch feature

Regras de push seguro

Push seguro é um conjunto de regras que evitam perda de dados e conflitos na equipe. A primeira e mais importante regra: nunca fazer push diretamente para a branch main ou master se o projeto não tiver deploy direto configurado. Em equipes modernas, a proteção da branch main é configurada no nível de proteção de branch do GitHub.

A segunda regra: sincronize com a branch remota antes de fazer push. Execute git pull --rebase para evitar commits de mesclagem ao unir. Isso simplifica o histórico e o torna linear. Se um push for rejeitado — não use force push simples, primeiro descubra quais commits apareceram na branch remota.

A terceira regra: configure hooks pre-push que executem automaticamente testes e linters antes do envio. Se os testes falharem — o push é bloqueado. Esses hooks são configurados via Husky ou Git hooks (arquivo pre-push em .git/hooks).

A quarta regra: não fazer push de arquivos binários grandes. Git não foi projetado para armazenar artefatos binários — eles incham o repositório e diminuem as operações. Para arquivos grandes, use Git LFS (Large File Storage). Se um binário já foi enviado e está no histórico, ele deve ser removido via git filter-branch.

O que fazer se o push falhar

A causa mais comum de falha no push é que a branch remota contém commits que não estão presentes localmente. Isso acontece quando outro desenvolvedor enviou suas alterações para a mesma branch. Solução: execute git pull, resolva quaisquer conflitos e faça push novamente.

bash
# Push rejeitado — faça fetch e rebase primeiro
git fetch origin
git rebase origin/main
# Resolva os conflitos, depois:
git push --force-with-lease

# Ou simplesmente mescle as alterações remotas
git pull origin main
git push

A segunda razão — falta de permissões de escrita na branch. Se a branch main estiver protegida por regras de proteção de branch, pushes diretos são proibidos. Solução: fazer push para uma branch feature e criar um Pull Request. As configurações de proteção são geralmente administradas via configurações do GitHub ou branches protegidas do GitLab.

A terceira razão — problemas de autenticação. Credenciais desatualizadas, mudança para SSH ou token de acesso pessoal alterado. Solução: verifique a URL remota (git remote -v) e atualize as credenciais. Desde 2021, o GitHub descontinuou a autenticação por senha para HTTPS — use um token pessoal ou chave SSH.

Perguntas frequentes

O que significa fazer push no Git?

Fazer push significa enviar commits locais do repositório de um desenvolvedor para um servidor remoto (GitHub, GitLab). Após o push, as alterações ficam disponíveis para a equipe, aparecem em Pull Requests e podem ser implantadas. Push é o estágio final do trabalho local com código antes da colaboração em equipe.

Qual a diferença entre push e commit?

Commit salva alterações localmente, no repositório do desenvolvedor. Push envia esses commits locais para um servidor remoto. Você pode fazer muitos commits sem fazer push, mas para que os colegas vejam as alterações, você precisa fazer push. Commit é salvar, push é publicar.

O que fazer se git push for rejeitado?

Um push é rejeitado se a branch remota contiver commits que não estão presentes localmente. Solução: execute git pull (ou git fetch + git rebase), mescle as alterações e faça push novamente. Se você estiver trabalhando em sua própria branch feature e confiar nas alterações, use git push --force-with-lease.

Dá para desfazer um push já feito?

Sim, mas com cuidado. Use git revert <commit-hash> — ele cria um commit que reverte as alterações. Então faça push do novo commit. Se precisar remover commits do histórico, use git reset + git push --force-with-lease, mas apenas na sua própria branch feature. git revert é a escolha segura para branches compartilhadas.

Por que é importante fazer push todos os dias?

O push regular evita perda de dados por falha da máquina local, reduz conflitos de mesclagem e dá à equipe visibilidade do progresso. Se um desenvolvedor não fizer push por uma semana, suas alterações podem divergir significativamente da branch main, levando a conflitos complexos durante a mesclagem.

Resumo

  • Fazer push — enviar commits locais para um repositório remoto para a equipe
  • Diferença de commit — commit salva localmente, push publica no servidor
  • Proteção de main — fazer push apenas para branches feature, para main via PR
  • Force push — usar apenas com --force-with-lease em suas próprias branches
  • Verificações pre-push — testes e linters via Git hooks ou Husky
  • Frequência — fazer push após cada alteração logicamente concluída
  • Problemas — se o push for rejeitado, primeiro pull ou rebase, depois tentar novamente

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também