Jak pobrać repozytorium git z github ze wszystkimi niepowiązanymi zatwierdzeniami

13

Zastanawiam się, jak pobrać repo ze wszystkimi zatwierdzeniami, które nie zostały wykonane gc, jeśli to możliwe ..

czy to coś takiego:

$ git clone x
$ cd x
$ git fetch origin -f

? albo coś innego?

ztatic
źródło
Co próbujesz osiągnąć Może jeśli wiemy, dlaczego jest to potrzebne, możemy udzielić lepszej odpowiedzi. Zwykle właściciel zdalnego repozytorium odwołuje się do zatwierdzeń, które chcą być możliwe do pobrania. Wiszące zobowiązania, które nie zostały wcześniej zapisane, są w każdej chwili zagrożone zaginięciem.
Stephen Jennings,
stackoverflow.com/questions/14770127/…
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Odpowiedzi:

5

Nie znam żadnego polecenia, które powiedziałoby „sprowadzić wszystkie obiekty zatwierdzenia do zdalnego repozytorium, nawet te, do których nie ma odniesienia”.

Zatwierdzenia można wprowadzać tylko z odwołaniem w zdalnym repozytorium. Możesz to zrobić za pomocą polecenia:

git fetch [remote] [remoteBranch]:[localBranch]

Zdalne repozytorium będzie musiało utworzyć odwołanie do wszelkich wiszących zatwierdzeń, zanim będzie można je pobrać. Jeśli masz dostęp do zdalnego repozytorium, możesz to zrobić za pomocą polecenia:

git fsck --lost-found

Dane wyjściowe pokażą wszelkie wiszące zatwierdzenia. Podaj im odnośnik git branch [branchname] [commit sha1], a następnie możesz je pobrać.

Stephen Jennings
źródło