Git Fetch vs Pull: Qual é a diferença entre os comandos Git Fetch e Git Pull?
Git pull
e fetch
são dois comandos usados regularmente por usuários Git. Vamos ver a diferença entre os dois comandos.
Para fins de contexto, vale lembrar que provavelmente estamos trabalhando em um repositório clone. O que é um clone? É simplesmente uma duplicata de outro repositório. É basicamente obter sua própria cópia do código-fonte de outra pessoa.
Dito isso, para manter seu clone atualizado com quaisquer alterações que possam ter sido aplicadas ao original, você precisará trazê-las para seu clone.
É onde fetch
e pull
entrar.
git fetch
é o comando que diz ao seu git local para recuperar as últimas informações de meta-dados do original (mas não faz nenhuma transferência de arquivo. É mais como apenas verificar se há alguma alteração disponível).
git pull
por outro lado faz isso E traz (copia) essas mudanças do repositório remoto.
Por exemplo:
git pull origin ankur bugfix
A lição é ter em mente que geralmente há pelo menos três cópias de um projeto em sua estação de trabalho.
- Uma cópia é seu próprio repositório com seu próprio histórico de commits (o já salvo, por assim dizer).
- A segunda cópia é sua cópia de trabalho onde você está editando e construindo (ainda não comprometida com seu repo).
- A terceira cópia é sua cópia local “em cache” de um repositório remoto (provavelmente o original de onde você clonou o seu).
Você pode usar git fetch
para saber as mudanças feitas no repositório / branch remoto desde seu último pull. Isso é útil para permitir a verificação antes de fazer um pull real, o que poderia alterar arquivos em seu branch atual e cópia de trabalho (e potencialmente perder suas alterações, etc).
git fetch git diff ...origin