Pracuję z repozytorium z bardzo dużą liczbą plików, których wypisanie zajmuje kilka godzin. Zastanawiam się, czy Git działałby dobrze z tego rodzaju repozytorium teraz, gdy obsługuje rzadkie pobrania, ale każdy przykład, który mogę znaleźć, robi następujące rzeczy:
git clone <path>
git config core.sparsecheckout true
echo <dir> > .git/info/sparse-checkout
git read-tree -m -u HEAD
Problem z tą sekwencją poleceń polega na tym, że oryginalny klon również wykonuje pobieranie. Jeśli dodasz -n do oryginalnego polecenia clone, polecenie odczytu drzewa spowoduje następujący błąd:
błąd: Rzadkie wyewidencjonowywanie nie pozostawia żadnego wpisu w katalogu roboczym
Jak można wykonać rzadkie wyewidencjonowanie bez uprzedniego wyewidencjonowania wszystkich plików?
git worktree add --no-checkout
będzie działać również (nie tylko git clone --no-checkout
) z git 2.9 (tylko 2016). Zobacz moją odpowiedź poniżej