Ho un repository locale che estrae da uno remoto. Esecuzione git pull
nonché git fetch; git merge FETCH_HEAD
utilizzato per eseguire esattamente la stessa azione, come previsto dalla description of git pull
:FETCH_HEAD riferimento non si aggiorna correttamente dopo "git fetch"
DESCRIZIONE
incorpora cambiamenti da un repository remoto nel ramo corrente. Nella sua modalità predefinita, git pull è una scorciatoia per git fetch seguito da git merge FETCH_HEAD.
Attualmente, e inaspettatamente, correndo git fetch
fermato aggiornare correttamente il riferimento FETCH_HEAD
. FETCH_HEAD
è ora bloccato su un vecchio commit. L'esecuzione di git fetch
scarica tutte le modifiche ai rami di monitoraggio remoto, ma FETCH_HEAD rimane invariato indipendentemente dal ramo in cui viene eseguito.
# currently in branchone
> git fetch
# branchone is up to date since...
> git rev-parse branchone
593539e8a98ba5980d4b645db3b0f506bb9b6a2c
# ...its in the same commit as the remote branch
> git rev-parse origin/branchone
593539e8a98ba5980d4b645db3b0f506bb9b6a2c
# however FETCH_HEAD shows something different
> git rev-parse FETCH_HEAD
37301df96597ac037f8e7e846fea6fc7df77bea5
git pull
esegue ancora il compito corretto. Tuttavia, l'esecuzione di git fetch; git merge FETCH_HEAD
farà qualcosa di diverso dal FETCH_HEAD
a un commit errato.
Esiste qualche impostazione o problema che potrebbe creare problemi con il comportamento di git fetch
?
Purtroppo no. Anche reseting il repository per molto vecchie revisioni cambia nulla nel comportamento di 'git fetch' e' FETCH_HEAD'. – LopSae
Un'altra cosa che puoi provare è eliminare l'intero repository locale e clonarlo di nuovo, altrimenti ti aiuterò ulteriormente Sto cercando di valutare cosa c'è di sbagliato in te repository locale .. – aliasgar
In un nuovo repository il comportamento è identico. Il commit a cui punta FETCH_HEAD è il primo che appare nel file '.git/FETCH_HEAD'. Leggere attorno ad esso sembra che questo sia il comportamento voluto, ma Sono ancora lasciato con il dubbio di WH y prima facevi 'git fetch; git merge FETCH_HEAD' ha funzionato perfettamente su qualsiasi ramo. – LopSae