# Nowy domyślny hash Git – co to oznacza

Published: 2026-10-02

Proponowana przez Git domyślna wartość SHA-256 tworzy granicę kompatybilności dla nowych repozytoriów. Sprawdzamy oficjalny plan, sprzeciw Scotta Chacon'a i działający wyjątek podglądu GitHub, następnie omawiamy Pi 1.0 i SvelteKit 3. Werdykt: NEEDS REVIEW.

Canonical: https://thedailydiff.dev/pl/video/2026-10-02-git-hash-split/

## Co obejmuje ten film

- Dlaczego dwa repozytoria Git mogą odmawiać komunikacji?
- Co właściwie zmienia Git 3?
- Dlaczego zastępować SHA-1, skoro Git wykrywa kolizje?
- Co pokazało nasze lokalne sprawdzenie kompatybilności?
- Co przetrwa awarię w Pi Durable?

## Rozdziały

- 0:00 Dlaczego dwa repozytoria Git mogą odmawiać komunikacji?
- 0:34 Co właściwie zmienia Git 3?
- 0:58 Dlaczego zastępować SHA-1, skoro Git wykrywa kolizje?
- 1:51 Co pokazało nasze lokalne sprawdzenie kompatybilności?
- 2:49 Co przetrwa awarię w Pi Durable?
- 3:30 Co migruje dla Ciebie SvelteKit 3?
- 4:03 Co dowodzi działający wyjątek GitHub?
- 4:38 Dlaczego mój werdykt zależy od całego łańcucha narzędzi?

## Przetłumaczona transkrypcja

Przetłumaczono z oryginalnej narracji angielskiej. Dostępne audio i napisy są kontrolowane przez YouTube.

### Dlaczego dwa repozytoria Git mogą odmawiać komunikacji?

0:00 Można by pomyśleć, że aktualizacja Git sprawi, że Twoje narzędzia będą się komunikować. Planowany nowy domyślny hash Git tworzy repozytoria, z którymi stary format nie może się komunikować. W tym filmie: po co zmieniać? Co się psuje? Kto jest gotowy? Na GitHubie jest już działający wyjątek. Pokażę Ci, co to udowadnia na końcu. Jest piątek, drugi października, a to jest The Daily Diff.

0:18 W czwartek współzałożyciel GitHub nazwał planowaną zmianę w Git kosztownym błędem. Pi wysłało nową uprząż agenta, a SvelteKit wysłał kolejną migrację. Scott Chacon pomógł zbudować GitHub i napisał Pro Git, więc ta skarga pochodzi z wewnątrz domu. Dom sprzedaje również narzędzia Git. Najpierw rzeczywisty plan.

### Co właściwie zmienia Git 3?

0:35 Git trzy domyślnie ustawiłby nowe repozytoria na SHA dwa pięć sześć, gdy tylko biblioteki i usługi hostingowe będą gotowe do jego obsługi. Oficjalny dokument nie podaje daty wydania i nadal obsługuje SHA jeden. Twoje istniejące repozytorium nie zmienia magicznie formatu po uaktualnieniu pliku wykonywalnego. Warto o tym pamiętać, zanim Twój czat grupowy zaplanuje awaryjną migrację. Dramatem jest proponowana wartość domyślna, a termin to obecnie puste kalendarz.

### Dlaczego zastępować SHA-1, skoro Git wykrywa kolizje?

0:58 Po co w ogóle zmieniać? Git nazywa obiekty, haszując ich zawartość. Pliki trafiają do drzew, a commity odwołują się do drzew i wcześniejszych commitów. To daje integralność w całej historii. Zmień schemat haszowania, a nazwy obiektów również się zmienią, w tym odniesienia przechowywane w innych obiektach. Chacon odwołuje się do Linusa Torvaldsa, twórcy Git, argumentując, że zaufana

1:17 dystrybucja ma znaczenie. To historyczne stanowisko, a Linus wybrał SHA jeden w dwutysięcznym piątym roku. Od tego czasu zmienił się przypadek bezpieczeństwa. Badacze zademonstrowali kolizje SHA jeden w dwutysięcznym siedemnastym roku, a później zademonstrowali atak z wybranym prefiksem na certyfikaty tożsamości PGP. Nowoczesny Git wykrywa znane ataki kolizyjne za pomocą wzmocnionego SHA jeden. Jego twórcy chcą również ochrony przed przyszłymi atakami, co jest rozsądnym życzeniem w przypadku podpisów.

1:41 Chacon uważa, że rachunek ekosystemu kupuje zbyt mało bezpieczeństwa. Proponuje podpisanie oddzielnej silnej sumy kontrolnej zawartości drzewa, zachowując jednocześnie dzisiejsze adresowanie obiektów pod spodem. Co się psuje? Utworzyłem oba formaty lokalnie i zahaszowałem ten sam mały plik.

### Co pokazało nasze lokalne sprawdzenie kompatybilności?

1:54 Jedna nazwa obiektu ma czterdzieści znaków heksadecymalnych, druga sześćdziesiąt cztery. Potem próbowałem pobierać między nimi. Mój zainstalowany Git odrzucił to z powodu niedopasowanych algorytmów, dokładnie taką lukę w kompatybilności opisaną w aktualnej oficjalnej instrukcji. Użyłem mojego starego, zainstalowanego Git, więc mówi nam to o dzisiejszej granicy. Nazwanie tego testem niewydanego Git trzy byłoby kreatywną księgowością. Praca migracyjna sięga do skryptów, które zakładają długość hasha, i systemów, które łączą się z nazwami obiektów.

2:19 Ponowne haszowanie historii wymaga mapowania między tymi tożsamościami. Projekt przejścia Git obejmuje to mapowanie i obsługę podpisów. Gotowość implementacji ma znaczenie, ponieważ dokument projektowy nie aktualizuje biblioteki ukrytej w Twoim ulubionym narzędziu deweloperskim. To jest ludzki koszt w argumencie Chacon'a. Każdy opiekun narzędzia dostaje kolejną pracę nad kompatybilnością, podczas gdy użytkownicy odkrywają, że ich kontrola wersji wymaga teraz kontroli wersji. Na razie przetestuj swój host i narzędzia przed wybraniem nowego formatu dla

2:44 projektu. Istniejące zespoły mogą zachować swój obecny format, dopóki ten ekosystem nie nadrobi zaległości. Tymczasem Pi osiągnął wersję jeden kropka zero.

### Co przetrwa awarię w Pi Durable?

2:51 Jest to uprząż agenta kodującego od Earendil, z natywną obsługą MCP poprzez Codemode i narzędziami ładowanymi, gdy są potrzebne. Zespół nazywa minimalizm sednem. Jeśli Twoja konfiguracja agenta już przypomina mały rząd, trzymanie narzędzi z dala od prompta, dopóki nie będą potrzebne, brzmi jak reforma administracyjna. Wydano również Pi Durable, oddzielny, eksperymentalny framework. Zadania zapisują punkty kontrolne, dzięki czemu restartowany proces może podjąć niedokończoną pracę z trwałego magazynu. Kluczowym szczegółem jest powtórzenie narzędzi.

3:16 Narzędzie przerwane przez awarię uruchamia się ponownie tylko wtedy, gdy zadeklaruje, że jest to bezpieczne. W przeciwnym razie modelowi mówi się, że został przerwany. To przydatna granica, gdy narzędzie może wydawać pieniądze. Chcę, aby asystent zapamiętał moją listę zakupów bez świętowania awarii poprzez kupowanie jej dwa razy.

### Co migruje dla Ciebie SvelteKit 3?

3:30 SvelteKit trzy również wylądował w czwartek, przenosząc konfigurację do Vite i zastępując dolar lib na hash lib, używając standardowych importów subpath pakietów. Polecenie migracji przepisuje to, co może, i zostawia listę zadań do wykonania na resztę. Twój robot może pomóc, a Twój diff nadal zasługuje na przeczytanie. Ogłoszenie nawet rekrutuje Twoich robotycznych przyjaciół do reszty. Dochodzimy do punktu, w którym aktualizacja frameworka wysyła pracę domową i sugerowanego nauczyciela zastępczego. A zdalne funkcje nadal potrzebują eksperymentalnego Async Svelte.

3:56 Główny numer wersji wydaje się uspokajający, ale poszczególne funkcje mają własne etykiety dojrzałości. Sprawdź te, których faktycznie używasz.

### Co dowodzi działający wyjątek GitHub?

4:03 Kto więc jest gotowy na nowy format Git? Oto ten wyjątek. Publiczne repozytorium GitHub zawierające prelekcję Briana Carlsona zwraca już pełną nazwę obiektu SHA dwa pięć sześć. Sprawdziłem publiczny zdalny bezpośrednio. Slajdy z prezentacji nazywają wsparcie prywatnym podglądem i mówią, że tworzenie repozytoriów nadal nadchodzi. Za poczekalnią jest faktyczny postęp. To dowodzi, że GitHub może obsługiwać to repozytorium podglądu.

4:24 Nie daje nam to żadnej gwarancji, że zwykłe tworzenie projektów ani wszystkie Twoje integracje są gotowe. Wyjątek ma granicę uprawnień. Jeśli wolisz to przeczytać, niż usłyszeć ode mnie, diff trafia do Twojej skrzynki odbiorczej każdego ranka, za darmo na the daily diff dot dev, link poniżej. Dzisiejszy werdykt to NEEDS REVIEW.

### Dlaczego mój werdykt zależy od całego łańcucha narzędzi?

4:40 Zachowałbym opcję silniejszego hasha i przetestował cały łańcuch narzędzi przed zmianą ustawień domyślnych. Kompatybilność jest częścią dostarczania usprawnień bezpieczeństwa. I to jest dzisiejszy diff. Jestem Niko z Axrisi. Łącz odpowiedzialnie.

## Źródła

- [Chacon](https://blog.gitbutler.com/git-3-sha-256) — blog.gitbutler.com
- [Git's official plan](https://git-scm.com/docs/BreakingChanges) — git-scm.com
- [Current interoperability](https://git-scm.com/docs/git-init) — git-scm.com
- [Transition design](https://git-scm.com/docs/hash-function-transition) — git-scm.com
- [Independent collision research](https://sha-mbles.github.io/) — sha-mbles.github.io
- [GitHub preview repository](https://github.com/bk2204/talk-rust-in-git) — github.com
- [Pi 1.0](https://earendil.com/posts/pi-1-0/) — earendil.com
- [Pi Durable](https://earendil.com/posts/pi-durable/) — earendil.com
- [SvelteKit 3](https://svelte.dev/blog/sveltekit-3-is-here) — svelte.dev
- [HN discussion](https://news.ycombinator.com/item?id=49924179) — news.ycombinator.com
