2013-01-17 10 views
13

Git pozwala pobrać z dowolnej zdalnej i odniesienia, na przykładGit pobrać konkretny popełnienia przez hash

git fetch <remote-url> <reference> 

Tak, że te podane rewizje są dostępne bez konieczności dodawania pilotów lub tworzenie oddziałów.

Działa to jednak tylko w przypadku odniesień, takich jak nazwy oddziałów lub znaczniki, ale nie w przypadku określonych skrótów, a zatem w przypadku commitów, do których nie odwołuje się bezpośrednio.

Czy istnieje sposób na pobranie określonego zatwierdzenia z pilota?

Odpowiedz

8

Nie. Zgodnie z instrukcją, git fetch chce refspec, najprostszą formą jest ref, a goły SHA-1 nie jest ref. Oznacza to, że zatwierdzenie musi mieć nazwę (gałąź, znacznik) na pilocie, aby można było go odczytać (fetch).

4

Patrz "Pull a specific commit from a remote git repository":
Z Git 2.5 (lipiec 2015), będzie można zrobić:

git fetch --depth=1 <a/remote/repo.git> $SHA1 
git cat-file commit $SHA1 

Jeśli SHA1 jest "osiągalne" od jednej z końcówek branżowych zdalnego repo , możesz go pobrać.

Zastrzeżenie: trzeba Git 2.5 zdalnego repo serwer chociaż, który zajmie się uploadpack.allowReachableSHA1InWant config (i trzeba, że ​​config być ustawiony na true, w celu umożliwienia jeden popełnić pobrać).

Powiązane problemy