Ошибка поддерева Git push неизвестная редакция или путь, возможно, из-за отсутствия фиксации разделения поддерева git

#git #git-push #subtree

Вопрос:

Я использовал поддерево git для встраивания репозитория в папку нашего основного проекта. Я не уверен, что произошло, но нажатие поддерева теперь не позволяет обновить удаленное репо.

Команда, которую я использую для нажатия, такова:

 git subtree push --prefix themes/natra https://github.com/OpenSID/tema-natra.git premium
 

Сообщение об ошибке выглядит так:

    fatal: ambiguous argument '3f44cc87ceb87df1d9171096596a824fc3050a27^{commit}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
could not rev-parse split hash 3f44cc87ceb87df1d9171096596a824fc3050a27 from commit 8577911bf6183497cc246aa620e7be1b6becec29
 

Я не могу найти фиксацию/хэш 3f44cc87ceb87df1d9171096596a824fc3050a27 в репо. В следующем изображении gitx Фиксация разделена на git-поддерево, я вижу, что фиксация разделена на git-поддерево. Но, похоже, его больше нет в репо.

Как я могу обойти или восстановить эту явно отсутствующую фиксацию? Любая помощь будет очень признательна.

Комментарии:

1. Вероятно , это ошибка, в git subtree которой есть некоторые известные ошибки. Подробности смотрите в архиве списка рассылки Git. git subtree Насколько мне известно, на данный момент никто активно не поддерживает.

2. Спасибо за информацию @torek. Поскольку я не в состоянии помочь в отладке git subtree , похоже, мне нужно будет подумать о замене использования git subtree .

Ответ №1:

Как я ответил вам в списке рассылки Git, это происходит потому premium , что филиал в https://github.com/OpenSID/tema-natra.git его толкнули силой.

Чтобы обойти это, просто извлеките коммит по его хэшу (он все еще доступен на GitHub).:

 git fetch https://github.com/OpenSID/tema-natra.git 3f44cc87ceb87df1d9171096596a824fc3050a27
 

и тогда вы сможете выполнить свою git subtree push команду (хотя вам, возможно, потребуется принудительно нажать…)

Комментарии:

1.Спасибо @philb. Теперь git subtree push команда больше не жалуется на отсутствующую фиксацию. Тем не менее, он по-прежнему завершается неудачно, когда сообщения об отладке показывают, что большое количество фиксаций выполняется в неправильном порядке. Вот выдержка: Using cachedir: /Users/eddieridwan/projects/jimmybox/public/premium/.git/subtree-cache/50582 Looking for prior splits... Processing commit: 1fbbdda4f0ef15794eeb4a343d3fb1bf17fbb853 «родители: c75f7cab156c91a1bf3b36658e1ac94dd1905bba` ` неправильный порядок: c75f7cab156c91a1bf3b36658e1ac94dd1905bba`

2. Может ли это быть связано с тем, что неверная информация теперь находится в кэше поддеревьев? Стоит ли пытаться удалить кэш? Спасибо.