Как преобразовать мелкий клон Git в полный клон? - PullRequest
173 голосов
/ 23 июля 2011

Продолжение этого вопроса: если у меня мелкий клон, как извлечь все старые коммиты, чтобы сделать его полным клоном?

Ответы [ 5 ]

585 голосов
/ 30 июля 2013

Следующая команда (git version 1.8.3) преобразует мелкий клон в обычный

git fetch --unshallow

Затем, чтобы получить доступ ко всем ветвям в источнике (спасибо @Петр в комментариях)

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
55 голосов
/ 23 июля 2011

Вы можете запустить git fetch --depth=1000000 (при условии, что в хранилище менее миллиона транзакций).

16 голосов
/ 12 мая 2017

Мне нужно было углубить репо только до определенного коммита.

После прочтения man git-fetch я обнаружил, что нельзя указать коммит, но можно указать дату:

git fetch --shallow-since=15/11/2012

Для тех, кому нужно инкрементальное углубление, другая man цитата:

--deepen=<depth>

Аналогично --depth, за исключением того, что оно указывает количество коммитов от текущей мелкой границы вместоподсказка истории каждой удаленной ветки.

1 голос
/ 25 августа 2017

Вы можете попробовать это:

git fetch --update-shallow
0 голосов
/ 01 марта 2019

Ни одно из вышеперечисленных сообщений не сработало. Я пытаюсь работать с тегами git, начиная с мелкого клона.

Сначала я попробовал

git fetch --update-shallow

какой тип работал на полпути. Пока нет доступных тегов!

git fetch --depth=1000000

Эта последняя команда действительно выбрала теги, и я наконец смог выполнить

git checkout -b master-v1.1.0 tags/v1.1.0

и покончим с этим.

НТН

...