У меня есть локальный репозиторий, который извлекается из удаленного. Запуск git pull
, а также git fetch; git merge FETCH_HEAD
используется для выполнения одного и того же действия, как и ожидается из описания git pull
:
DESCRIPTION
Incorporates changes from a remote repository into the current branch. In its default mode, git pull is shorthand for git fetch followed by git merge FETCH_HEAD.
. В настоящее время и неожиданно запуск git fetch
перестал корректно обновлять ссылку FETCH_HEAD
. FETCH_HEAD
теперь привязан к старой фиксации. Запуск git fetch
загружает все изменения в удаленные отслеживаемые ветки, но FETCH _HEAD остается неизменным независимо от ветки, в которой он запущен.
# 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
по-прежнему выполняет правильную задачу. Однако запуск git fetch; git merge FETCH_HEAD
приведет к другому результату, поскольку FETCH_HEAD
указывает на неправильную фиксацию.
Существуют ли какие-либо настройки или проблемы, которые могут повлиять на поведение git fetch
?