Em resposta a uma pergunta sobre puxar um commit por vez de um repositório git , foi recomendado usar em git remote update
vez de git fetch
. Eu li as duas páginas do manual, mas não posso dizer que entendi nenhuma das duas em sua totalidade.
Alguém pode me explicar como git fetch origin
e get remote update origin
se comportar de forma diferente?
Respostas:
Não faz diferença quando usado assim.
remote update
é um comando de alto nível - ele suporta remotos agrupados (remotes.<group> = <list>
) e atualiza todos os remotos (exceto aqueles comremote.<name>.skipDefaultUpdate
set), mas não qualquer uma das opções mais específicas de busca. Por trás, porém, ele faz exatamente a mesma coisa que buscar com as opções padrão.A resposta recomendando em
remote update
vez de git fetch era, na verdade, recomendá-lo sem um nome remoto, apenas por uma questão de buscar tudo, não apenas aquele nomeado como um argumento. Isso é equivalente agit fetch --all
.Devo acrescentar a ressalva de que fetch e remote update não usavam o mesmo codepath até a v1.6.6.1 (lançado em 23 de dezembro de 2009). Mesmo antes disso, porém, eles faziam essencialmente a mesma coisa, apenas usando um código diferente (possivelmente se comportando de maneira um pouco diferente em casos extremos, mas não consigo pensar em nenhum de cabeça).
fonte
git fetch --all
" ser usado no lugar de "git remote update
".fetch --all
entrei. Eu faço tudo isso apenas por variações degit log --grep=...
egit describe --contains
no meu clone git.git.v1.6.6.1~1^2~9
. (Mesma versão da mudança de atualização remota que mencionei na minha resposta, atualizada para adicionar a versão de lançamento secundária lá). Talvez fosse tarde para entrar nas notas de lançamento?