Git 2.39 został już wydany i to są jego nowości

git

Git to oprogramowanie do kontroli wersji zaprojektowane przez Linusa Torvaldsa z myślą o wydajności,

Po dwóch miesiącach rozwoju, Wydano rozproszony system kontroli źródła Git 2.39, wersja, w której w porównaniu do poprzedniej wersji, w nowej wersji przyjęto 483 zmian, przygotowany przy udziale 86 deweloperów, z czego 31 brało udział w tworzeniu po raz pierwszy.

Osoby niezaznajomione z Git powinny wiedzieć, że to to jeden z najpopularniejszych systemów kontroli wersji, niezawodne i wysokowydajne oprogramowanie, które zapewnia elastyczne nieliniowe narzędzia programistyczne oparte na forkach i połączeniach forków.

Aby zapewnić integralność historii i odporność na wsteczne zmiany, w każdym zatwierdzeniu stosuje się niejawne hashowanie całej poprzedniej historii, możliwa jest również weryfikacja podpisów cyfrowych twórców poszczególnych tagów i zatwierdzeń.

Najważniejsze cechy Git 2.39

W tej nowej wersji, która jest prezentowana, możemy znaleźć coDodano opcję „–grupa”. dowodzić "krótki dziennik git", Który jest przeznaczony do wyświetlania podsumowań ze statystykami historycznymi zmian, do dowolnego grupowania zatwierdzeń według pól bez ograniczania się do autora lub autora.

Kolejną nowością, która wyróżnia się w nowej wersji są tzw rozszerzone możliwości mechanizmu cruft packs do pakowania nieosiągalnych obiektów, do których nie ma odniesienia w repozytorium (do których nie odwołują się gałęzie ani znaczniki).

Garbage collector usuwa nieosiągalne obiekty, ale pozostają one w repozytorium przez pewien czas, zanim zostaną usunięte, aby uniknąć warunków wyścigu. Mechanizm «paczki cruftowe» pozwala przechowywać wszystkie nieosiągalne obiekty w pliku pakietu i odzwierciedlać dane w czasie modyfikacja każdego obiektu w osobnej tabeli przechowywanej w osobnym pliku z rozszerzeniem ".mrazy» na ich wykonanie nie pokrywa się z całkowitym czasem modyfikacji.

Ilość czasu że nieosiągalne obiekty pozostają w repozytorium zanim zostaną usunięte naprawdę określa opcja „–prune= ». To powiedziawszy, chociaż opóźnienie przed usunięciem jest dość skutecznym i praktycznym sposobem uniknięcia uszkodzenia repozytorium z powodu wyścigu, nie jest w 100% niezawodne.

Aby ułatwić odzyskiwanie z uszkodzonego repozytorium, nowa wersja oferuje możliwość zapisywania brakujących obiektów poprzez dodanie „--wygasa-do»Do« poleceniagit przepakuj", który pozwala określić plik do utworzenia zewnętrznej kopii wszystkich usuniętych obiektów. Na przykład, aby zapisać nieosiągalne obiekty w pliku backup.git, które nie zmieniły się w ciągu ostatnich 5 minut.

Oprócz tego możemy również znaleźć w Git 2.39 zwiększył (do 70%) szybkość operacji „git grep –cached”. podczas wyszukiwania w obszarach, które używają częściowego klonowania (kasa rzadka) i dla których istnieją indeksy cząstkowe (rzadki indeks). Wcześniej podczas określania opcji „– W pamięci podręcznej„najpierw przeszukiwany był zwykły indeks, a następnie częściowe, co powodowało zauważalne opóźnienia przy przeszukiwaniu dużych repozytoriów.

La szybsze wykonanie na serwerze w celu weryfikacji łączności nowych obiektów przed umieszczeniem ich w repozytorium podczas wykonywania operacji „git Push”. Dzięki przejściu do uwzględniania przy sprawdzaniu tylko zadeklarowanych linków, w repozytorium testowym z 7 milionami linków, z czego tylko 3% jest objętych operacją push, optymalizacje pozwoliły skrócić czas weryfikacji 4,5 razy.

Aby zabezpieczyć się przed ewentualnymi przepełnieniami liczb całkowitych w kodzie, polecenie „git apply” ogranicza maksymalny rozmiar łat które można przetwarzać. Jeśli rozmiar poprawki przekroczy 1 GB, zostanie wyświetlony komunikat o błędzie. Ponadto, aby zabezpieczyć się przed potencjalnymi podatnościami, wprowadzono zmiany mające na celu usunięcie zbędnych informacji z nagłówków ustawionych podczas korzystania z modułu h2h3 z opcją GIT_TRACE_CURL=1 lub GIT_CURL_VERBOSE=1 wraz z HTTP/2.

Z innych wyróżniających się zmian:

  • Podczas wykonywania operacji sprawdzania na gałęzi, która jest dowiązaniem symbolicznym do innej gałęzi, polecenie „gitsymbolic-ref HEAD» teraz drukuje nazwę gałęzi docelowej zamiast nazwy dowiązania symbolicznego.
  • Dodano obsługę argumentu @{-1} do opcji „--Edytuj opis"("git branch --edit-description @{-1}"), aby edytować opis poprzedniej gałęzi.
  • Dodano polecenie „git merge-tree --stdin» który umożliwia przekazanie listy opcji przez standardowe wejście.
  • Krótkie dane wyjściowe dziennika można dodać za pomocą specyfikatorów formatu i „-Grupa» znacznie upraszcza skomplikowane raportowanie i eliminuje dodatkowe komendy klasyfikacyjne.
  • W sieciowych systemach plików sterownik fsmonitor, który monitoruje zmiany w systemie plików, jest domyślnie wyłączony.

Na koniec, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.