Fetch e Verificar git status
Nesta etapa, aprenderemos como obter (fetch) alterações de um repositório remoto e verificar o status do nosso repositório local.
Imagine que você está trabalhando em um projeto com outras pessoas. Elas podem fazer alterações no projeto e salvá-las em um local central (um repositório remoto). Você precisa de uma maneira de obter essas alterações em sua própria cópia do projeto (seu repositório local). É aqui que o git fetch entra em ação.
Primeiro, vamos garantir que estamos no diretório do nosso projeto. Abra seu terminal e digite:
cd ~/project/my-time-machine
Agora, vamos simular ter um repositório remoto. Em um cenário real, isso estaria em uma plataforma como GitHub ou GitLab. Para este laboratório, usaremos um diretório local como nosso "remoto".
git remote add origin ../my-time-machine-remote
Este comando adiciona um "remoto" chamado origin apontando para um diretório fora do nosso projeto atual.
Agora, vamos usar git fetch para obter quaisquer alterações deste remoto simulado.
git fetch origin
Você pode não ver muita saída se não houver novas alterações, mas este comando entrou em contato com o repositório remoto e baixou qualquer informação nova, como commits e branches, sem mesclá-las em sua branch atual.
Após o fetch, é sempre uma boa ideia verificar o status do seu repositório local para ver se há alguma alteração do remoto que você ainda não incorporou.
git status
A saída de git status agora informará se sua branch local está "up to date" (atualizada) com a branch remota, ou se há alterações disponíveis para serem puxadas (pulled). Por exemplo, você pode ver algo como:
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
Ou, se houver alterações no remoto:
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree clean
Compreender a saída de git status após um git fetch é crucial. Ele informa a relação entre sua branch local e a branch correspondente no repositório remoto. Isso ajuda você a decidir se precisa puxar (pull) as alterações ou se sua cópia local já está atualizada.