Mam lokalne repozytorium, które pobiera z odległego. Uruchamianie git pull
jak również git fetch; git merge FETCH_HEAD
używany do wykonywania dokładnie takie samo działanie, jak oczekuje się od description of git pull
:Odwołanie FETCH_HEAD nie aktualizuje się poprawnie po "git fetch"
OPIS
Wprowadza zmiany od zdalnego repozytorium do bieżącego oddziału. W trybie domyślnym, git pull jest skrótem dla pobierania git, a następnie git merge FETCH_HEAD.
Obecnie nieoczekiwanie, działa git fetch
zatrzymał aktualizowanie odniesienie FETCH_HEAD
poprawnie. FETCH_HEAD
jest teraz przyklejony do starego zatwierdzenia. Uruchamianie git fetch
powoduje pobranie wszystkich zmian do zdalnie śledzonych gałęzi, ale FETCH_HEAD pozostaje niezmieniony niezależnie od gałęzi, w której jest uruchamiany.
# 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
nadal wykonuje poprawne zadanie. Jednak uruchomienie git fetch; git merge FETCH_HEAD
spowoduje coś innego, ponieważ FETCH_HEAD
wskazuje na nieprawidłowe zatwierdzenie.
Czy istnieją jakieś ustawienia lub problemy, które mogą powodować problemy z zachowaniem git fetch
?
Niestety nie. Nawet resetowanie repozytorium bardzo stare wersje zmienia nic w zachowanie 'git fetch' i' FETCH_HEAD'. – LopSae
Inną rzeczą, którą możesz spróbować, jest usunięcie całego lokalnego repozytorium i sklonowanie go ponownie.Jeśli nie, pomogę ci dalej.Spróbuję ocenić, co jest z tobą nie tak Lokalne repozytorium .. – aliasgar
W nowym repozytorium zachowanie jest takie samo. Zatwierdzenie, do którego odnosi się "FETCH_HEAD", jest pierwszym, które pojawia się w pliku '.git/FETCH_HEAD'. Odczytanie go wydaje się być zamierzonym zachowaniem, ale Wciąż mam wątpliwości co do czego y wcześniej robiłeś 'git fetch; git merge FETCH_HEAD' działało doskonale w każdym oddziale. – LopSae