Git: держите глубину = 1 на тянет, чтобы уменьшить размер репо - PullRequest
0 голосов
/ 24 октября 2019

Есть ли способ заставить git pull сохранить depth=1, просто использовать последний коммит вместо того, который был сделан git-клоном (если есть более новый)?

II do git clone -b some_branch --depth=1 git_repo.git

Клонирует хранилище с минимальным использованием пространства, поскольку удаляет всю историю. Теперь, если мне нужно снова обновить этот репозиторий и использовать git pull, он тянет всю историю.

Здесь есть похожий вопрос:

Получать обновления с помощью git после клонирования с --depth 1

Если попытаться принять ответный совет и использовать git pull --unshallow, а затем git pull --depth=1, похоже, что это не уменьшает пространство, так какgit clone --depth=1 делает.

Таким образом, единственный способ действительно уменьшить размер хранилища - это просто удалить хранилище и снова клонировать с depth=1 ?. Выглядит как-то неуклюже, как это сделать.

И причина, по которой мне это нужно, заключается в том, что существуют репозитории, используемые при полной клонации, в настоящее время занимающие размер ~3 GB. И есть около 40 сред, где он используется. В общем, он использует много места. С мелким клоном его можно уменьшить примерно в 5 раз.

Пример:

Клонирование этой ветви репозитория 12.0 git@github.com:odoo/odoo.git, показывает ее размер около 3 ГБ.

Клонирование этой ветви репозитория 12.0 с depth=1, показывает размер, равный 643 МБ.

Использование --unshallow при извлечении, а затем (как предложено здесь Преобразование репозитория git в мелкое? ):

git pull --depth 1
git gc --prune=all

Не похоже, чтобы уменьшить размер, как мелкий клон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...