git fetch vs. git fetch origin master tem efeitos diferentes no branch de rastreamento
Isso é principalmente da natureza de uma curiosidade, já que estou tentando me familiarizar com o Git. Eu olhei a documentação para 'git fetch', mas não vejo uma explicação óbvia para o abaixo. Agradecemos antecipadamente e nos desculpamos se isso é muito óbvio.
1) De um repositório central, digamos, o GitHub, eu clono um repositório chamadowebsite
em cada uma das duas máquinas,HostA
eHostB
.
2) emHostA
, Faço uma alteração em um arquivo, digamosREADME.txt
e comprometê-lo.
Neste momento em dianteHostA
, os commits para filiaismaster
eorigin/master
são, como esperado diferente desde que eu não empurrei ainda
git show master
git show origin/master
reportar hashes diferentes (desdemaster
tem a mudança eorigin/master
não)
3) Uma vez que eu empurro, eles são depois disso o mesmo.
4) Agora, mais deHostB
, se eu fizer o seguinte:
git fetch
git merge FETCH_HEAD
depois, no HostBmaster
eorigin/master
reportar o mesmo hash quando consultado comgit show
MAS
se ao invés disso eu tivesse feito,HostB
:
git fetch origin master
git merge FETCH_HEAD
Nesse ponto, os hashes ainda diferem.
git show origin
git show origin/master
relatóriodiferente hashes
O ramo de rastreamentoorigin/master
não é atualizado até que eu faça uma planíciegit fetch
Por que é isso?