Questo è principalmente la natura di una curiosità mentre sto cercando di familiarizzare con Git. Ho esaminato la documentazione di 'git fetch' ma non vedo una spiegazione ovvia per il seguito. Grazie in anticipo, e scuse se questo è terribilmente ovvio.git fetch vs. git fetch origine master ha diversi effetti sul ramo di rilevamento
1) Da un repository centrale, ad esempio GitHub, ho clonato un repository denominato website
su ciascuna delle due macchine, HostA
e HostB
.
2) su HostA
, apporto una modifica a un file, ad esempio README.txt
, e lo impegno.
A questo punto il HostA
, i commit per rami master
e origin/master
sono, come prevedibile diversa poiché non ho ancora spinto
git show master
git show origin/master
rapporto hash diversi (dal master
ha il cambiamento e origin/master
non lo fa)
3) Una volta premuto, lo sono dopo lo stesso.
4) Ora, sopra su HostB
, se faccio la seguente:
git fetch
git merge FETCH_HEAD
dopo, il HostB master
e origin/master
rapporto lo stesso hash quando interrogato con git show
MA
se invece l'avessi fatto, su HostB
:
git fetch origin master
git merge FETCH_HEAD
a quel punto gli hash differiscono ancora.
git show origin
git show origin/master
rapporto diverso hash
il ramo di monitoraggio origin/master
non viene aggiornato fino a quando faccio una pianura git fetch
perché è questo?
Quasi duplicato: (il fatto che sia pull, non preleva, non fa alcuna differenza sostanziale) http://stackoverflow.com/questions/1741143/git-pull-origin-mybranch-leaves-local-mybranch-n- commits-ahead-of-origin-why –