12

Мне интересно, как вытащить репо со всеми коммитами, которые не были gc'd, если это возможно ..

это что-то вроде:

$ git clone x
$ cd x
$ git fetch origin -f

? или что-то другое?

1 ответ1

4

Я не знаю ни одной команды, которая бы говорила: «Снять все объекты коммитов в удаленном репозитории, даже те, на которые нет ссылок».

Вы можете вносить коммиты только со ссылкой в удаленном хранилище. Вы можете сделать это с помощью команды:

git fetch [remote] [remoteBranch]:[localBranch]

Удаленный репозиторий должен будет создать ссылку на любые висячие коммиты, прежде чем вы сможете получить их. Если у вас есть доступ к удаленному репозиторию, вы можете сделать это с помощью команды:

git fsck --lost-found

Вывод покажет вам любые висячие коммиты. Дайте им ссылку с помощью git branch [branchname] [commit sha1] , после чего вы сможете их получить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .