Git файл пакета pull дает 'фатальный: не удалось найти удаленную ссылку HEAD' - PullRequest
1 голос
/ 05 августа 2020

Я отправляю самостоятельный ответ, потому что знаю, что некоторые из моих коллег скоро начнут гуглить. Иногда нам необходимо распространять файлы пакетов, которые базируются на master и, следовательно, содержат только определенные ветки, явно включенные при его создании. Например, распространитель делает:

git bundle create ../file.gitbundle master..feature/aunit_reporters

Проблема в том, что после получения файла пакета выполнение git pull ../file.gitbundle дает:

fatal: Couldn't find remote ref HEAD

Я проверил, что файл пакета должен быть применимо, с помощью:

git bundle verify ../file.gitbundle
The bundle contains this ref:
4f969119b208b71f4893222810600862 refs/heads/feature/combined_reporter
The bundle requires this ref:
fd9801b79b56f5dd55ab1e6500f16daf

и git show fd9801b79b56f5dd55ab1e6500f16daf правильно отображает необходимую фиксацию вместо fatal: ambiguous argument '[commit-hash]': unknown revision or path not in the working tree, что будет сигнализировать о том, что у меня нет необходимой базовой фиксации.

1 Ответ

1 голос
/ 05 августа 2020
git pull ../file.gitbundle feature/combined_reporter

Второй параметр git pull [remote] является необязательным и по умолчанию имеет значение «HEAD». Это тот случай, независимо от того, используете ли вы файл пакета или нет, но обычно в реальных репозиториях git (локальных и размещенных) есть HEAD, указывающий куда-то, поэтому по умолчанию работает. В файлах частичного пакета этого нет. Решение состоит в том, чтобы указать второй параметр в качестве одной из ветвей, выводимых командой git bundle verify, в вашем случае 'feature / Commodated_reporter'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...