Jak przekonwertować Git shallow clone na full clone?

Kontynuacja tego więc-pytanie: jeśli mam płytkiego klona, jak pobrać wszystkie starsze commity, aby uczynić go pełnym klonem?

 136

4 answers

Możesz uruchomić git fetch --depth=1000000 (zakładając, że repozytorium ma mniej niż milion commitów).

 44
Author: svick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-23 17:55:39

Poniższe polecenie (git Wersja 1.8.3) przekonwertuje klon shallow na zwykły

git fetch --unshallow

Następnie, aby uzyskać dostęp do wszystkich gałęzi na origin (dzięki @Peter w komentarzach)

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
 476
Author: Ramkumar D,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-01 04:46:20

Musiałem pogłębić repo tylko do konkretnego commita.

Po przeczytaniu man git-fetch dowiedziałem się, że nie można określić commita, ale można podać datę:

git fetch --shallow-since=15/11/2012

Dla tych, którzy potrzebują pogłębienia, Inny man cytat:

--deepen=<depth>

Podobne do --depth, z tą różnicą, że określa liczbę committs from the current shallow boundary zamiast from the tip historii każdej zdalnej gałęzi.

 8
Author: Victor Sergienko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-11 22:30:20

Możesz spróbować tego:

git fetch --update-shallow
 0
Author: Altynai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-25 03:06:48