Використання git для отримання останньої редакції


380

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

Я спробував використовувати git-клон, але це створює копію всього сховища (величезний розмір файлу), а відстеження змін робить дисковий простір ще більшим (100 Мб файлів зараз займає більше 2 Гб).

Я не збираюся надсилати патчі, і мені не потрібна історія. Я просто хочу останню версію, як у підриві.

Чи можливо це при геті?


2
Гіт 1,9 / 2,0 (Q1 2014 року) буде набагато більш ефективним з дрібним клонуванням: stackoverflow.com/a/21217267/6309 і stackoverflow.com/a/21217326/6309
VonC

Відповіді:


552

Використовуйте --depthопцію в git clone:

Створіть неглибокий клон з усіченою історією до визначеної кількості комітетів.

приклад: git clone --depth=1 <remote_repo_url>


87
приклад:git clone --depth=1 <remote_repo_url>
iDev247

14
Оскільки виконувати 82fba2b в git 1.9, цих обмежень більше не існує.
niutech

1
Які обмеження?
Невідомий

4
@Triangles: Обмеження (більше не існує): Неглибоке сховище має ряд обмежень (ви не можете його клонувати чи вибирати з нього, ані проштовхуватись з нього чи в нього), але є адекватним, якщо вас цікавить лише недавня історія великого проект з довгою історією, і він хотів би надсилати виправлення у вигляді патчів.
odinho - Велмонт


79

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

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

Або якщо віддалений сховище може переглядати за допомогою веб-інтерфейсу, наприклад, gitweb або GitHub, є ймовірність, що у нього є функція "моментального знімка", і ви можете завантажити останню версію (без інформації про версії) з веб-інтерфейсу.


4
Це рішення не задовольнить цю вимогу, хоча: "Я хочу мати можливість оновити нові редакції з віддаленого проекту". Оскільки він в основному завантажує архів, він не зможе швидко просунутися вперед або два. "Дрібний клон" дозволяє це. Але я думаю, що це рішення має свої випадки використання, тому варто згадати.
ВасиліНовіков
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.