Nota do Moderador: Dado que esta pergunta já teve sextenta e sete respostas postadas (algumas delas eliminadas), considere se está ou não a contribuir com algo novo*** antes de postar outra.
Quais são as diferenças entre o "git pull" e o "git fetch"?
Nos termos mais simples, "git pull" faz um "git fetch" seguido por uma "git merge".
Você pode fazer um git fetch
a qualquer momento para atualizar seus ramos de rastreamento remoto em refs/remotes/<remote>/
.
Esta operação nunca muda nenhuma das suas filiais locais sob refs/heads', e é segura para fazer sem alterar a sua cópia de trabalho. Eu já ouvi falar de pessoas correndo o
git fetch` periodicamente em um cron job em segundo plano (embora eu não recomendaria fazer isso).
Um git pull
é o que você faria para atualizar uma filial local com sua versão remota, ao mesmo tempo em que atualiza suas outras filiais de rastreamento remoto.
Git documentation - **git pull***:
No seu modo padrão,
git pull
é o diminutivo degit fetch
seguido degit merge FETCH_HEAD
.
Um caso de uso do git fetch
é que o seguinte irá dizer-lhe quaisquer alterações no ramo remoto desde o seu último puxão... para que você possa verificar antes de fazer um puxão real, o que poderia alterar os arquivos no seu ramo atual e cópia de trabalho.
git fetch
git diff ...origin
Veja: https://git-scm.com/docs/git-diff sobre a sintaxe de pontos duplos e triplos no comando diff
git-pull - Buscar e fundir-se com outro repositório ou uma filial local SINOPSEgit pull
<repositório> ... DESCRIÇÃO Executa o git-fetch com os parâmetros dados, e chama o git-merge para fundir o recuperou a(s) cabeça(s) para o ramo actual. Com --base, chamadas git-rebase em vez de um git-merge.
Note que você pode usar o . (diretório atual) como o repositório <repositório> para puxar do repositório local - isto é útil na fusão de filiais locais para o ramo actual.
Note também que as opções para o próprio git-pull e o git-merge subjacente deve ser dada antes das opções destinadas ao git-fetch.
Você puxaria se quisesse os históricos fundidos, você buscaria se apenas 'quisesse o codez', já que alguma pessoa tem etiquetado alguns artigos por aqui.