Como forçar um git pull? Sobrescrevendo arquivos
Neste artigo você vai aprender a como forçar um git pull, sobrescrevendo os arquivos que estão no seu branch com os do repositório

Fala programador(a), beleza? Bora aprender mais sobre branches, controle de versão e git!
O comando git pull não possui uma flag para forçar a atualização e sobrescrita, como alguns comandos do git que possuem -f
Então o que precisamos fazer?
Primeiramente vamos atualizar o nosso repositório com todos os commits, com o comando git fetch
Depois vamos fazer um reset, este é o comando que faz todas as substituições
Baseando-se nos arquivos que estão no repositório
Veja os comandos necessários:
git fetch -all git reset --hard origin/<nome_do_branch>
E pronto! Teremos nosso branch resetado por algum branch escolhido
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Note que é muito comum utilizar este comando de reset com o master, para resetar com o branch principal do repositório
Que recentemente foi trocado para main
Então o comando seria:
git reset --hard origin/master # ou git reset --hard origin/main
Neste caso, teremos o branch pareado com o branch principal do nosso repositório
Quer aprender mais sobre git? Veja este curso gratuito:
Conclusão
Neste artigo você aprendeu a como forçar um git pull, que na verdade por enquanto não é possível, pois o comando não existe
O que precisamos fazer é atualizar o repositório local com o fetch
E depois fazer um reset, baseado em algum branch de nossa escolha
Então teremos os arquivos sendo alterados conforme o branch alvo
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!
Existe git pull –force ou git pull -f?
Resposta curta: não do jeito que a gente imagina
O git pull não tem uma flag que manda ele passar por cima dos teus arquivos e seguir o baile
O que a galera chama de "forçar um pull no git" é na real uma dupla de comandos: primeiro tu atualiza o teu repositório local com o que existe no remoto, depois tu alinha o teu branch com o branch alvo
É exatamente isso que os comandos logo abaixo fazem, e o resultado final é o mesmo que tu queria com o pull forçado 😀
Como forçar um git pull passo a passo:
- Salve em outro lugar o que tu não quer perder, porque o reset vai deixar o teu branch igualzinho ao branch alvo
- Rode o fetch, ele traz os commits que estão no repositório remoto pra tua máquina
- Rode o reset apontando pro branch que tu quer copiar, pode ser origin/main, origin/master ou o nome do branch que tu escolheu
- Abra os arquivos e confira: eles agora estão pareados com o branch alvo
[bloco de código] git fetch –all
git reset –hard origin/<nome_do_branch>
Simples assim, sem prompt mágico nem gambiarra
Por que o fetch vem antes do reset?
Essa é a parte que confunde bastante gente
O teu Git guarda uma cópia local do que ele conhece do repositório remoto
Se tu não roda o fetch, essa cópia pode estar velha, e aí o reset vai te alinhar com uma versão desatualizada do branch
É como resetar teu celular com um backup de dois meses atrás: funciona, mas não é o que tu queria
Por isso a ordem importa: fetch primeiro pra atualizar a referência, reset depois pra aplicar
Tome cuidado antes de rodar o reset:
O reset é o comando que faz a substituição, então ele não pergunta se tu tem certeza
O que tu alterou no teu branch e não mandou pro repositório pode ir embora nesse processo
Então, antes de rodar: se tem algo local que tu não quer perder, salve uma cópia dos arquivos fora do projeto ou suba teu trabalho pra um branch de segurança
Já me ferrei uma vez por causa disso, e não é uma experiência legal haha
Quando NÃO usar esse caminho? Quando tu só quer trazer as novidades do remoto e manter o teu trabalho local, aí o pull normal resolve
Quando usar? Quando o teu branch local virou bagunça e tu quer ele idêntico ao remoto de novo
Perguntas frequentes sobre forçar o git pull:
Como forçar um pull no git?
O caminho é atualizar o repositório local com o git fetch e depois rodar o git reset –hard apontando pro branch alvo, como origin/main
O resultado é o teu branch pareado com o do repositório
Existe git pull -f ou git pull –force?
O git pull não tem uma flag de força que sobrescreve os teus arquivos, diferente de outros comandos do git que aceitam o -f
Por isso a solução é a dupla fetch mais reset
Forçar o pull apaga minhas alterações locais?
O reset deixa o teu branch igual ao branch escolhido, então alterações locais que tu não guardou em outro lugar podem ser substituídas
Salve o que importa antes de rodar
É origin/master ou origin/main?
Depende do repositório: o branch principal já foi chamado de master e depois passou a se chamar main
Use o nome que o teu repositório usa no comando do reset
Leia também
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares

As diferenças de var, let e const

Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]

ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
