Как преобразовать мелкий клон Git в полный клон?

Последующие действия this: вопрос: если у меня есть мелкий клон, как получить все старшие коммиты, чтобы сделать его полным клоном?

Ответ 1

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

Ответ 2

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

git fetch --unshallow

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

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin

Ответ 3

Мне нужно было углубить репо только до определенной фиксации.

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

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

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

--deepen=<depth>

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

Ответ 4

Вы можете попробовать следующее:

git fetch --update-shallow

Ответ 5

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

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

git fetch --update-shallow

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

git fetch --depth=1000000

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

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

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

НТН