Obter do Remoto com git fetch
Neste passo, aprenderemos como buscar (fetch) as alterações de um repositório Git remoto. Imagine que você está trabalhando em um projeto com outras pessoas, e elas fizeram algumas atualizações. git fetch é o comando que você usa para obter essas atualizações sem alterar seu próprio trabalho.
Primeiro, vamos simular ter um repositório remoto. Faremos isso adicionando uma URL remota ao nosso repositório local existente. Em um cenário real, esta seria a URL de um repositório hospedado em uma plataforma como GitHub ou GitLab.
Navegue até o diretório do seu projeto, se você ainda não estiver lá:
cd ~/project/my-time-machine
Agora, vamos adicionar uma URL remota fictícia. Chamaremos este remoto de origin, que é uma convenção comum.
git remote add origin https://github.com/example/my-time-machine.git
Este comando não produz nenhuma saída, mas configurou seu repositório local para conhecer um repositório remoto chamado origin.
Agora, vamos usar git fetch para recuperar informações sobre as alterações no repositório remoto. Como esta é uma URL fictícia, git fetch não fará o download de nenhum código, mas simulará o processo e mostrará o que faria.
git fetch origin
Você pode ver uma saída semelhante a esta (a saída exata pode variar dependendo da sua versão e configuração do Git):
fatal: repository 'https://github.com/example/my-time-machine.git/' not found
Não se preocupe com o erro "repository not found". Isso é esperado porque usamos uma URL fictícia. A parte importante é que você executou o comando git fetch.
Em um cenário real, git fetch origin se conectaria ao repositório remoto, faria o download de todos os novos commits e branches que não existem em seu repositório local e os armazenaria em uma área especial. Ele não mescla (merge) essas alterações em sua branch de trabalho atual. Isso permite que você veja quais alterações foram feitas por outros antes de decidir integrá-las ao seu próprio trabalho.
Pense em git fetch como ir aos correios para pegar correspondência. Você recebe a correspondência (as alterações), mas não a abre e a coloca em sua mesa (mescla em seu trabalho) até que esteja pronto.