Flaga --abbrev-commit
może być używana w połączeniu z git log
i git rev-list
w celu pokazania częściowych prefiksów zamiast pełnych 40-znakowych skrótów SHA-1 obiektów commit. Według Pro Git book,W moim repo, jak długo musi być najdłuższy prefiks hash, aby zapobiec nakładaniu się?
domyślnie do korzystania z siedmiu znaków, ale czyni je dłużej, jeśli to konieczne, aby utrzymać jednoznaczną SHA-1 [...]
Dodatkowo krótkie Shas są co najmniej 4- postać długa. Mimo to zgodnie z książką Pro Git,
Ogólnie, osiem do dziesięciu znaków jest więcej niż wystarczające, aby zachować unikatowość w projekcie.
Przykładowo, jądro Linux, które jest dość dużym projektem z ponad 450 tys. Zatwierdzeniami i 3,6 milionami obiektów, nie ma dwóch obiektów, których SHA-1 nakładają się więcej niż pierwsze 11 znaków.
Ponieważ długość najdłuższego prefiksu wymaganego w celu uniknięcia nakładania się wśród wszystkich skrótów prefiks popełniają obiektów (11, w przypadku Linuksa) jest surowy wskaźnik wielkości repo jest, chciałbym programowo określić odpowiednią ilość w moim lokalnym repozytorium. Jak mogę to zrobić?
Czy masz na myśli http://stackoverflow.com/a/21015031/3691891? –
@ArkadiuszDrabczyk Niezupełnie. Twój link daje tylko metodę określenia, jak krótki może być prefiks danego skrótu zatwierdzenia, aby uniknąć nakładania się z innymi hashami. Pytam o maksymalną ilość dla wszystkich skrótów zatwierdzających w repozytorium. – Jubobs
Nie można * rygorystycznie * określać wymaganej długości prefiksu bez sprawdzania wszystkich zatwierdzeń w repozytorium. Zasadniczo repozytorium może mieć tylko dwa zatwierdzenia, które są identyczne w pierwszych 39 znakach. Rzeczywista wymagana długość może się zmienić wraz z następnym zatwierdzeniem. –