← До списку лабораторних по Git
Повний опис / сценарій лабораторної:
Мета: зрозуміти концепцію partial clone та сценарії коли вона корисна для дуже великих репозиторіїв. Крок 1. Ознайомитися з довідкою по partial clone. Команда: git help clone | grep -A5 "filter" Пояснення: знайдіть опис параметра filter. Крок 2. Виконати partial clone великого або тестового репозиторію. Команда: cd ~ && git clone --filter=blob:none URL bigrepo_partial Пояснення: завантажуються тільки дерева і коміти без вмісту файлів. Крок 3. Перейти у клонований репозиторій. Команда: cd bigrepo_partial Крок 4. Перевірити статистику обʼєктів. Команда: git count-objects -v Пояснення: кількість blob спочатку буде не повною. Крок 5. Відкрити файл з глибокого підкаталогу. Команда: sed -n "1,5p" якийсь_файл_у_src 2>/dev/null || echo "виберіть реальний файл зі свого репозиторію" Пояснення: Git завантажить потрібні blob з promisor remote. Крок 6. Ще раз переглянути count-objects. Команда: git count-objects -v Пояснення: кількість blob зросте лише для запитуваних файлів. Крок 7. Подивитися конфіг promisor remote. Команда: git config --show-origin --get-regexp "remote.*promisor" Пояснення: origin може бути позначений як promisor. Крок 8. Обговорити переваги і обмеження partial clone. Пояснення: економія трафіку, але залежність від доступності сервера для запитів blob. Крок 9. Зафіксувати типові параметри filter які можна використати у своїй організації. Пояснення: наприклад blob:none або tree:0. Крок 10. Міні звіт. Завдання: опишіть сценарій коли partial clone суттєво прискорить onboarding нових розробників у великий монорепозиторій.