Posted on 2022-07-14

tldr: Нова фіча гіту - «спарс чекаути» дозволяє чекаутити тільки частину репки.

Story: Від папєрєдніков мені дісталася рєпка. У рєпці є і код проекту, і інфраструктура, і бінарні файли, і хелм чарти. Одним словом, щастячко вагою з твою колишню, десь 12 гігабайт.

Порівняння не випадкове, бо вона тільки додає з часом. Дієта “київський торт”🍰.

Ну а я що — я нічо. Мені інколи треба дивитись в код інфри та й CI. І усе це дивовижне зубожіння якось мене не впєчатляєт, тобто, не вражає. У планах було на gitlfs усе перекинути, але то ж беклог, а беклог усі ігнорують 😓.

Що можна робити у новому гіту (2.37.*)? А можно спочатку зробити чєкаут

git clone --filter=blob:none --no-checkout git@<YOURREPO>

А потім

# чекаут тільки рута, без діректорій
git sparse-checkout set --cone
# і звичайний чекаут мастера
git checkout master
# А тепер додемо каталоги docker, helm та terraform
git sparse-checkout set docker/ helm/ terraform/

І все. Ви чарівні і заворожуючі, як місячне сяйво, що танцює та плигає по вовнам Південного Бугу🤩🤩🤩. А рєпка в мене теперича займає лише 3 мегабайти.