Nowa wersja Git 2.28, pozwalająca nie używać nazwy „master” dla gałęzi głównych

Do dyspozycji wydanie rozproszonego systemu kontroli źródła Git 2.28.0. Git to jeden z najpopularniejszych, niezawodnych i wydajnych systemów kontroli wersji, który zapewnia elastyczne nieliniowe narzędzia programistyczne oparte na rozgałęzianiu i łączeniu gałęzi. Aby zapewnić integralność historii i odporność na zmiany wsteczne, w każdym zatwierdzeniu stosowany jest niejawny hasz całej poprzedniej historii, możliwa jest również weryfikacja poszczególnych tagów i zatwierdzeń za pomocą podpisów cyfrowych od programistów.

W porównaniu z poprzednią wersją, do nowej wersji, przygotowanej przy udziale 317 programistów, przyjęto 58 zmian, z czego 13 brało udział w rozwoju po raz pierwszy. Główny innowacje:

  • Dodano ustawienie init.defaultBranch, które pozwala wybrać dowolną domyślną nazwę gałęzi. Dodano oprawę dla projektów, których twórców prześladują wspomnienia niewoli, a słowo „pan” odbierane jest jako obraźliwa aluzja lub wywołuje udrękę psychiczną i poczucie nieodkupionej winy. GitHub, GitLab и bitbucket zdecydował się domyślnie używać słowa „główny” zamiast słowa „master” dla głównych gałęzi. W Git, tak jak poprzednio, domyślnie wykonanie „git init” nadal tworzy gałąź „master”, ale tę nazwę można teraz zmienić. Na przykład, aby zmienić nazwę gałęzi początkowej na „main”, możesz użyć polecenia:

    git config --global init.defaultBranch main

  • Dodano optymalizacje wydajności oparte na wyglądzie w formacie pliku wykresu zatwierdzenia, używanym do optymalizacji dostępu do informacji o zatwierdzeniu, wsparcia filtry kwitnienia, struktura probabilistyczna, która pozwala na fałszywą definicję brakującego elementu, ale wyklucza pominięcie istniejącego elementu. Określona struktura pozwala znacznie przyspieszyć wyszukiwanie w historii zmian przy użyciu poleceń „git log - ' lub 'obwiniać'.
  • Polecenie „git status” dostarcza informacji o postępie operacji częściowego klonowania (sparse-checkout).
  • Dla poleceń z rodziny "diff" zaproponowano nowe ustawienie "diff.relative".
  • Sprawdzanie za pomocą „git fsck” ocenia teraz sortowanie drzewa obiektów i wykrywa nieposortowane elementy.
  • Uproszczony interfejs do edycji poufnych informacji w wynikach śledzenia.
  • Dodano obsługę uzupełniania opcji polecenia „git switch” w skrypcie uzupełniania danych wejściowych.
  • Dodano obsługę przekazywania argumentów w różnych notacjach do „git diff” („git diff A..BC”, „git diff A..BC…D” itp.).
  • Dodano możliwość ustawienia własnego mapowania elementów w celu dostrojenia danych wyjściowych w celu ułatwienia debugowania w poleceniu git fast-export --anonymize.
  • W „git gui” dozwolone jest otwieranie drzew roboczych z początkowego okna dialogowego.
  • Protokół fetch/clone implementuje możliwość informowania klienta przez serwer o potrzebie pobrania wcześniej przygotowanych plików pack-files oprócz przesłanych spakowanych danych obiektowych.
  • Kontynuowano prace nad przejściem na algorytm haszujący SHA-256 zamiast SHA-1.

Źródło: opennet.ru

Dodaj komentarz