Используя git, чтобы получить только последнюю версию

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

Я попытался использовать git clone, но это создает копию всего репозитория (огромный размер файла), а отслеживание изменений делает дисковое пространство еще большим (100 МБ файлов теперь занимают более 2 гб).

Я не собираюсь отправлять патчи, и мне не нужна история. Мне просто нужна последняя версия, например, в subversion.

Возможно ли это в git?

Ответы

Ответ 1

Используйте параметр --depth в git clone:

Создайте мелкий клон с историей, усеченной до указанного количества коммитов.

пример: git clone --depth=1 <remote_repo_url>

Ответ 2

Альтернативное решение для выполнения мелкого клонирования (git clone --depth=1 <URL>) было бы, если бы его поддерживала сторона, использовать опцию --remote git архив:

$ git archive --format=tar --remote=<repository URL> HEAD | tar xf -

Или, если удаленный репозиторий находится под вопросом, используя некоторый веб-интерфейс , например gitweb или GitHub, тогда есть шанс, что у него есть функция "моментального снимка", и вы можете загрузить последнюю версию ( без информации о версии) из веб-интерфейса.

Ответ 3

git clone --depth=1 <remote_repo_URL>

взято из comment iDev247 в этом вопросе