Git redefinir a ramificação local para um no repositório remoto

Azhar Bashir Khan 25 dezembro 2021
Git redefinir a ramificação local para um no repositório remoto

Este tutorial mostrará como redefinir um branch local no repositório local no git para ser como o branch no repositório remoto. Opcionalmente, podemos descartar quaisquer alterações não rastreadas no repositório local.

Normalmente, temos uma ramificação local com algumas alterações que não são mais necessárias ou estão desatualizadas. Além disso, precisamos buscar as mudanças que estão no repositório remoto.

Geralmente acontece quando estamos trabalhando em um ambiente colaborativo; e algum outro membro da equipe fez algumas mudanças (correções, desenvolvimento de recursos, etc.) e colocou-as no branch remoto (ex. master).

Assim, precisamos fazer um reset do branch local no repositório local e sincronizar com o do repositório remoto.

Vamos agora ilustrar isso com um exemplo.

Usando git reset para redefinir a ramificação local para uma no repositório remoto

Normalmente temos uma ramificação local viz. master usado para rastrear o branch remoto com o mesmo nome no repositório remoto.

Agora faremos um checkout para a ramificação local viz. master, se ainda não estivermos nele. Além disso, git checkout remove os arquivos não rastreados.

$ git checkout master

Executaremos o seguinte comando para redefinir o viz do branch local. master, para o repositório remoto.

$ git fetch origin 
$ git reset --hard origin/master

O primeiro comando, get fetch, baixa os objetos e referências de origin; a origin é um apelido criado por git para a URL remota do repositório remoto.

O segundo comando, get reset, redefine o HEAD atual para aquele no ramal remoto. Observe que isso removerá todas as alterações locais.

Todas as alterações / commits que temos no branch remoto no repositório remoto estão presentes no branch local do repositório local.

Opcionalmente, também podemos limpar as alterações não rastreadas executando o seguinte comando.

$ git clean -xdf

Artigo relacionado - Git Reset