Buscar (Fetch) Remoto e Verificar git log @{u}
Nesta etapa, aprenderemos como buscar (fetch) as alterações de um repositório remoto e ver como nosso branch local se compara ao branch remoto usando git log @{u}.
Primeiro, vamos simular ter um repositório remoto. Em um cenário real, isso estaria em uma plataforma como GitHub ou GitLab, mas para este laboratório, usaremos um diretório local como nosso "remoto".
Navegue até o diretório do seu projeto:
cd ~/project/my-time-machine
Agora, vamos adicionar um remoto chamado origin apontando para um repositório remoto simulado. Assumiremos que um repositório remoto foi configurado na seção setup.
git remote add origin ../my-time-machine-remote
Este comando informa ao seu repositório Git local que existe outro repositório localizado em ../my-time-machine-remote e o estamos chamando de origin.
Agora, vamos buscar (fetch) as últimas alterações deste remoto. O comando git fetch baixa commits, arquivos e refs de um repositório remoto para seu repositório local. Ele não mescla ou modifica automaticamente seu trabalho atual.
git fetch origin
Você deve ver uma saída indicando que o Git está buscando (fetching) do remoto.
Após buscar (fetching), podemos usar git log @{u} (ou git log origin/master neste caso, pois origin/master é o branch upstream para master) para ver os commits no branch remoto que ainda não estão em nosso branch local. A sintaxe @{u} ou @{upstream} se refere ao branch upstream do branch atual.
git log @{u}
Como nosso branch master local foi criado do zero e o branch master remoto (simulado) também começou vazio e ainda não adicionamos nenhum commit ao remoto, este comando pode não mostrar nenhuma saída, ou pode mostrar o commit inicial se o remoto foi inicializado com um. A parte importante é entender o que este comando faz: ele mostra os commits que estão no branch upstream (origin/master) mas não no seu branch local atual (master).
Entender a diferença entre seu branch local e o branch remoto é crucial para colaboração e manter seu projeto atualizado. git fetch e git log @{u} são ferramentas poderosas para inspecionar o estado do repositório remoto sem alterar seu diretório de trabalho local.