Продовження цього запитання: якщо у мене є дрібний клон, як отримати всі старі зобов’язання, щоб зробити його повним клоном?
Продовження цього запитання: якщо у мене є дрібний клон, як отримати всі старі зобов’язання, щоб зробити його повним клоном?
Відповіді:
EDIT: git fetch --unshallow
тепер це варіант (дякую Джеку О'Коннору).
Можна запустити git fetch --depth=1000000
(якщо припустимо, що у сховищі менше одного мільйона комітів).
git fetch --unshallow
існує (як у відповіді @ sdram), ця відповідь вже не найкраща.
git fetch --depth=2147483647
є найбільшою можливою глибиною для надання команді.
git fetch --unshallow
, але це все ще не показує всіх гілок.
Наведена нижче команда (git версія 1.8.3) перетворить дрібний клон у звичайний
git fetch --unshallow
Потім, щоб отримати доступ до всіх гілок за походженням (дякую @Peter у коментарях)
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*";
git fetch origin
з відповіді повинно бути те саме, що редагувати .git / config вручну
git fetch --unshallow --update-head-ok origin '+refs/heads/*:refs/heads/*'
працював на мене
Мені потрібно було поглибити репо лише до певного виконання.
Прочитавши man git-fetch
, я з’ясував, що не можна вказати комісію, але можна вказати дату:
git fetch --shallow-since=15/11/2012
Для тих, хто потребує поглибленого поглиблення, ще одна man
цитата:
--deepen=<depth>
Аналогічно --depth, за винятком того, що він визначає кількість комітетів з поточної мілкої межі замість кінця кожної історії віддаленої гілки.
Жодне з перерахованих вище повідомлень не зробило хитрощів. Я намагаюся працювати з тегами git, починаючи з дрібного клону.
Спершу спробував
git fetch --update-shallow
який вид пропрацював на півдорозі. Тим не менш, тегів немає!
git fetch --depth=1000000
Ця остання команда дійсно дістала теги, і я нарешті міг виконати
git checkout -b master-v1.1.0 tags/v1.1.0
і робити з цим.
HTH