Как вытащить git-репо из github со всеми несвязанными коммитами

13

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

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

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

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

ztatic
источник
Что вы пытаетесь достичь? Может быть, если мы знаем, зачем вам это нужно, мы можем дать вам лучший ответ. Обычно владелец удаленного репозитория ссылается на коммиты, которые он хочет получить. Висячие коммиты, которые не были gc'd, рискуют быть потерянными в любое время.
Стивен Дженнингс
stackoverflow.com/questions/14770127/…
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件

Ответы:

5

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

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

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

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

git fsck --lost-found

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

Стивен Дженнингс
источник