У меня "мелкий" репо:
FIRST_COMMIT="bf450342272a94117d78eae34a140a2a39359dad"
git rev-parse ${FIRST_COMMIT} > .git/shallow
git fsck --unreachable
git gc --prune=now
Теперь я пытаюсь нажать:
! [remote rejected] develop -> develop (shallow update not allowed)
Я понимаю, что это ограничение связано с тем, что репо мелкое.
Как я могу преобразовать поверхностное репо в обычное репо?
Мне плевать на потерю старой истории. На самом деле, я хочу потерять старую историю
Чтобы уточнить это:
- Я хочу, чтобы преобразованное хранилище сохраняло историю коммитов с метаданными (дата, автор, сообщение о коммитах, ...) мелкого репо
- Я хочу полностью потерять старую историю
- Меня не волнует совместимость с исходным репо: это следует считать новым репо
- Мне все равно, если коммиты воссоздаются, просто метаданные сохраняются.
EDIT
Простое удаление файла .git/shallow
не работает:
» git push -f --set-upstream myorigin develop
error: Could not read d18d4a247bebd32a3b57b2c0e5f9c28749083211
fatal: revision walk setup failed
error: remote unpack failed: eof before pack header was fully read
error: failed to push some refs to 'git@somehost:repos/somerepo.git'
EDIT2
Попытка отменить с fetch
:
git fetch --unshallow
Все еще оставляет репо grafted
:
commit bf450342272a94117d78eae34a140a2a39359dad (grafted)
Author: The author
Date: Thu Nov 29 16:55:05 2018 +0100
Chages by pre-commit hook (!?)