У меня есть простая система резервного копирования, в которой git-клон создается с помощью --bare
(возможно, это был --mirror
) запускать git fetch
каждый час. Идея в том, что если что-то случится с моими рабочими копиями, у меня будет резервная копия моей работы в клоне.
Эта система отлично работает, но я получаю сообщение об ошибке при запуске git fetch
:
$ git fetch
remote: Total 0 (delta 0), reused 0 (delta 0)
error: unable to find 2a8c978c41c362c3f0c42775c9124780a0e71e08
fatal: object 2a8c978c41c362c3f0c42775c9124780a0e71e08 not found
Когда я ищу объект в исходном репозитории, это тайник:
$ git show 2a8c978c41
commit 2a8c978c41c362c3f0c42775c9124780a0e71e08
Merge: 808f6e4 ddc28da
Author: Russell Silva
Date: Wed Feb 29 10:19:26 2012
WIP on experimental: 808f6e4 blah blah blah
Похоже, как выборка в основном успешна; git log
показывает актуальные ветки. Но ошибки неприятные. Как мне избавиться от них? Как сделать так, чтобы они не повторялись?
Обратите внимание, что этот вопрос отличается от этого, где кто-то действительно хочет получить тайник. Меня не волнует, что мои команды git fetch
извлекают тайники; хорошо, если они этого не сделают.
РЕДАКТИРОВАТЬ: был запрошен полный вывод git fetch --verbose
:
$ git fetch --verbose
remote: Total 0 (delta 0), reused 0 (delta 0)
From /home/russell/work/russells-project
= [up to date] some-branch -> some-branch
error: unable to find 2a8c978c41c362c3f0c42775c9124780a0e71e08
fatal: object 2a8c978c41c362c3f0c42775c9124780a0e71e08 not found
Я изменил имена в выводе, чтобы скрыть личную информацию, и удалил все, кроме одного, из "[обновленных] " строк -- их десятки, по одной на каждую ветку в репозитории.
Кроме того, мой пульт находится в локальной файловой системе; к нему нет доступа по сети.
$ git remote --verbose
origin /home/russell/work/russells-project (fetch)
origin /home/russell/work/russells-project (push)