Nowa wersja Git 2.46 pojawia się po trzech miesiącach prac rozwojowych w tej nowej wersji wprowadzono kilka ulepszeń i istotnych nowych funkcji, takich jak eksperymentalna obsługa nowego typu map bitowych, ulepszenia eksperymentalnego backendu z możliwością reftable, nowy interfejs wiersza poleceń, między innymi dla polecenia „git config”.
Ta nowa wersja Git 2.46 zawiera poprawki błędów od ponad 96 autorów, 31 z nich jest nowych i jako taka jest nową wersją zawiera 746 zmian.
Główne nowości w Git 2.46
Eksperymentalne wsparcie dla „Bitmapa dostępności pseudofuzji” jest jednym z najważniejszych osiągnięć tej wersji oraz nowy typ bitmap si różni się od tradycyjnej struktury „mapa bitowa dostępności” poprzez przechowywanie danych o zestawach obiektów związanych z zatwierdzeniem nie dla każdego pojedynczego zatwierdzenia, ale dla kilku zatwierdzeń jednocześnie.
Jako taka, ta mapa bitowa dostępności pseudoscalania umożliwia użycie pojedynczej mapy bitowej do zdefiniowania obiektów w zatwierdzeniach różnych gałęzi, co skutkuje znaczną poprawą wydajności, szczególnie w przypadku dużych repozytoriów. Przyspiesza to operacje takie jak git fetch, git rev-list i git clone, zmniejszając potrzebę generowania wielu oddzielnych bitmap.
Git 2.46 wprowadza także kilka ważnych ulepszeń w interfejsie wiersza poleceń oraz w zarządzaniu danymi uwierzytelniającymi i przechowywaniem danych. Interfejs wiersza poleceń dla polecenia git config został przeprojektowany, zastępując różne opcje, takie jak –get, –get-all, –unset i –remove-sekcja z zestawem bardziej intuicyjnych poleceń podrzędnych. Na przykład, aby wyświetlić wszystkie konfiguracje repozytorium, możesz teraz użyć polecenia „lista konfiguracyjna git«, a aby wyświetlić zawartość określonego parametru, możesz teraz użyć polecenia «konfiguracja gita pobierz ». Aby dodatkowo filtrować wyniki, możesz użyć opcji „–regexp”, aby określić filtr oparty na wyrażeniu regularnym.
Poza tym w protokole «pomocnik poświadczeń” dodał obsługę nowych pól „typ uwierzytelnienia” i „poświadczenia”., umożliwiając tworzenie programów obsługi dla systemów uwierzytelniania HTTP, które wykonują więcej niż tylko weryfikację nazwy użytkownika i hasła, na przykład podczas korzystania z tokenu okaziciela w OAuth 2.0. A wcześniej, Aby móc pracować z takimi systemami uwierzytelniania, konieczne było podanie poufnych danych w postaci zwykłego tekstu w parametrze http.extraHeader. Oprócz, protokół dodaje możliwość utrzymywania stanu każdego kontrolera poświadczeń w celu obsługi metod uwierzytelniania wieloskładnikowego używanych w protokołach, takich jak NTLM i Kerberos.
Z drugiej strony, poprawiono rozwój eksperymentalnego backendu „reftowalnego”. do wydajnego przechowywania linków do gałęzi i tagów w repozytorium. Nowa wersja dodaje komendę „git refs migracja –ref-format=reftable” umożliwiającą migrację istniejących repozytoriów do backendu „reftable” (poprzednio backend był włączany tylko podczas inicjalizacji repozytorium).
Również, W Git 2.46 rozpoczął się proces konwersji części testów z zestawu testów, do stosowania testów jednostkowych. Ma to na celu uproszczenie testowania komponentów niskiego poziomu i zwiększenie efektywności procesu testowania na platformie Windows, co generuje duże koszty ogólne przy uruchomieniu wielu procesów na dużej platformie podczas wykonywania testów realizowanych w skryptach powłoki .
z inne zmiany, które się wyróżniają tej nowej wersji:
- Do polecenia git dodano opcję „–no-advice”, która wyłącza wszystkie komunikaty z poradami i podpowiedziami, co może być przydatne, aby zapobiec zapychaniu dziennika niepotrzebnymi informacjami podczas automatycznego wywołania git.
- Dodano możliwość użycia reprezentacji „#RGB” oprócz reprezentacji „#RRGGBB” w kodzie w celu analizy ustawień kolorów.
- Kiedy git merge widzi, że indeksu nie można zaktualizować (na przykład z powodu
do innego procesu, który robi to samo w tle) - Wprowadzono makro CPP USE_THE_REPOSITORY_VARIABLE, aby pomóc w przeniesieniu bazy kodu tak, aby była mniej zależna od dostępności pojedynczej instancji the_repository.
- „wersja git – opcje kompilacji” podaje informacje o wersji
- OpenSSL i inne biblioteki (jeśli są używane) w pliku build.
- Naprawiono wycieki pamięci w „git mv”
- Zaktualizowana obsługa uzupełniania wiersza poleceń dla zsh (w contrib/)
aby przestać narażać stan wewnętrzny na interakcję z powłoką użytkownika końcowego
W końcu jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w następujący link.