Teraz git fetch --unshallowistnieje (jak w odpowiedzi @ sdram), ta odpowiedź nie jest już najlepsza.
Jack O'Connor
1
Odpowiedź @ sdram nie działała dla mnie (git wersja 2.1.1), ale ta odpowiedź zadziałała.
kay - SE is evil
2
Żadna odpowiedź nie działała dla mnie. Obydwu poleceniom udało się pobrać wszystkie brakujące zatwierdzenia, ale kiedy próbuję wypchnąć nowe zatwierdzenia, pojawia się błąd związany z tym, że serwer nie wie o „płytkich” poleceniach
Tyguy7
3
git fetch --depth=2147483647jest największą możliwą głębokością do dostarczenia do polecenia.
clacke
5
Użyłem git fetch --unshallow, ale nadal nie pokazuje wszystkich gałęzi.
Sid
674
Poniższe polecenie (git wersja 1.8.3) przekształci płytkiego klona w zwykły
git fetch --unshallow
Następnie, aby uzyskać dostęp do wszystkich gałęzi pochodzenia (dzięki @Peter w komentarzach)
Nie powoduje to cofnięcia efektu ubocznego pojedynczej gałęzi. Aby to zrobić, edycja .git / config i zmiany sprowadzić = + bibl / głowice / BRANCHNAME: bibl / piloty / pochodzenie / BRANCHNAME sprowadzić = + refs / heads / *: bibl / piloty / pochodzenie / *
Peter Cordes
3
To nie tworzy lokalnych gałęzi śledzących zdalne gałęzie, więc nadal musisz pobrać -b BRNAME origin / BRNAME, aby skonfigurować.
Peter Cordes
26
Zobacz także stackoverflow.com/questions/17714159/… : git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*";git fetch origin od odpowiedzi powinno być to samo, co ręczne edytowanie .git / config
Peter Cordes
Działa to tylko wtedy, gdy repo jest oznaczone jako płytkie. Nie pamiętam jak, ale zdarzają się sytuacje, w których możesz skończyć z niepełnym repozytorium bez wyraźnego wykonania płytkiego klonu. @ stackoverflow.com/a/6802238/260122 firmy svick to odpowiedź, która działa za każdym razem.
clacke
git fetch --unshallow --update-head-ok origin '+refs/heads/*:refs/heads/*'pracował dla mnie
gzaripov
19
Musiałem pogłębić repozytorium tylko do konkretnego zatwierdzenia.
Po przeczytaniu man git-fetchdowiedziałem się, że nie można określić zatwierdzenia, ale można podać datę:
git fetch --shallow-since=15/11/2012
Dla tych, którzy potrzebują stopniowego pogłębiania, kolejny mancytat:
--deepen=<depth>
Podobne do --depth, z tym wyjątkiem, że określa liczbę zatwierdzeń z bieżącej płytkiej granicy zamiast z końca każdej historii odległych gałęzi.
Odpowiedzi:
EDYCJA:
git fetch --unshallow
teraz jest opcja (dzięki Jack O'Connor).Możesz uruchomić
git fetch --depth=1000000
(zakładając, że repozytorium zawiera mniej niż milion zatwierdzeń).źródło
git fetch --unshallow
istnieje (jak w odpowiedzi @ sdram), ta odpowiedź nie jest już najlepsza.git fetch --depth=2147483647
jest największą możliwą głębokością do dostarczenia do polecenia.git fetch --unshallow
, ale nadal nie pokazuje wszystkich gałęzi.Poniższe polecenie (git wersja 1.8.3) przekształci płytkiego klona w zwykły
Następnie, aby uzyskać dostęp do wszystkich gałęzi pochodzenia (dzięki @Peter w komentarzach)
źródło
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*";
git fetch origin
od odpowiedzi powinno być to samo, co ręczne edytowanie .git / configgit fetch --unshallow --update-head-ok origin '+refs/heads/*:refs/heads/*'
pracował dla mnieMusiałem pogłębić repozytorium tylko do konkretnego zatwierdzenia.
Po przeczytaniu
man git-fetch
dowiedziałem się, że nie można określić zatwierdzenia, ale można podać datę:Dla tych, którzy potrzebują stopniowego pogłębiania, kolejny
man
cytat:źródło
Możesz spróbować:
źródło
Żadna z powyższych wiadomości nie zadziałała. Próbuję pracować z tagami git, zaczynając od płytkiego klonu.
Najpierw próbowałem
który rodzaj działał w połowie. Jednak brak dostępnych tagów!
To ostatnie polecenie naprawdę ściągnęło tagi i w końcu mogłem je wykonać
i skończyć z tym.
HTH
źródło