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

Como forçar um git pull capa

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
Formação Recomendada

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:

  1. Salve em outro lugar o que tu não quer perder, porque o reset vai deixar o teu branch igualzinho ao branch alvo
  2. Rode o fetch, ele traz os commits que estão no repositório remoto pra tua máquina
  3. Rode o reset apontando pro branch que tu quer copiar, pode ser origin/main, origin/master ou o nome do branch que tu escolheu
  4. 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

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Formações

Formação SAAS com IA

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