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

Po trzech miesiącach rozwoju nowa wersja systemu została wydana kontroli rozproszonego kodu źródłowego «Git 2.36» jeden z najpopularniejszych, niezawodnych i wydajnych systemów kontroli wersji zapewniający elastyczne nieliniowe narzędzia programistyczne oparte na forkach i scaleniach forków.

Aby zapewnić integralność historii i odporność na zmiany „wstecz”, przy każdym zatwierdzeniu używany jest niejawny skrót całej poprzedniej historii. Możliwa jest również weryfikacja podpisów cyfrowych twórców poszczególnych etykiet i potwierdzeń.

Najważniejsze cechy Git 2.36

W porównaniu z poprzednią wersją, w nowej wersji, przygotowanej przy udziale 717 deweloperów, z czego 96 brało udział w rozwoju po raz pierwszy, zaakceptowano 26 zmian. Główne innowacje:

opcja Dodano „–remerge-diff” do poleceń „git log” i „git show”, aby pokazać różnice między ogólnym wynikiem scalenia a rzeczywistymi danymi odzwierciedlonymi w zatwierdzeniu po przetworzeniu polecenia „merge”, co pozwala wizualnie ocenić zmiany wprowadzone w wyniku rozwiązania konfliktu scalania. Zwykłe polecenie „git show” oddziela różne rozwiązania konfliktów za pomocą wcięć, co utrudnia zrozumienie zmian.

Podczas korzystania z opcji „–remerge-różnica”, różnice między rozwiązaniami konfliktów nie są rozdzielane dla każdej gałęzi nadrzędnej, ale wyświetlane są ogólne różnice między plikiem, który ma konflikty scalania, a plikiem, który rozwiązał konflikty.

Kolejną godną uwagi zmianą jest zwiększona elastyczność w dostosowywaniu zachowań z opróżniania pamięci podręcznych dysku poprzez wywołanie funkcji fsync(). Parametr pliki core.fsyncObject wcześniej dostępny został podzielony na dwie zmienne konfiguracyjne core.fsync i core.fsyncMethod, który zapewnia możliwość zastosowania fsync nie tylko do plików obiektowych (.git/objects), ale także do innych struktur git, takich jak refs ( .git /refs), reflog i pliki pakietów.

przez zmienną core.fsync, możesz określić listę wewnętrznych struktur Git, po operacji zapisu, dla której zostanie dodatkowo wywołane fsync. Zmienna metoda core.fsync pozwala wybrać metodę opróżniania pamięci podręcznej, na przykład można wybrać fsync, aby użyć wywołania systemowego o tej samej nazwie, lub określić tylko do zapisu, aby użyć oczekującego lazywritingu (pamięć podręczna strony lazywriting).

Aby chronić się przed lukami obsługujące zastępowanie katalogów .git przez innych użytkowników na współdzielonych partycjach, weryfikacja właściciela repozytorium została wzmocniona. Teraz dozwolone jest uruchamianie tylko poleceń git w ich własnych katalogach ".git". Jeśli katalog repozytorium należy do innego użytkownika, domyślnie zostanie wygenerowany błąd. To zachowanie można wyłączyć za pomocą ustawienia bezpiecznego katalogu.

Podkreśla się również, że dodano opcję „–batch-command” do polecenia „git cat-file”, który ma na celu wygenerowanie oryginalnej zawartości obiektów Git, uzupełniającej polecenia „–partia” i „–kontrola” wcześniej dostępne z możliwością adaptacyjnego wyboru typu wyjścia poprzez „treść” » aby wyświetlić treść lub «informacje » wyświetlić informacje o obiekcie. Obsługiwane jest również polecenie "opróżniania" w celu opróżnienia bufora wyjściowego.

Z drugiej strony jest to podkreślone dodano opcję „–oid-only” („–object-only”) do polecenia „git ls-tree”, które ma na celu wyświetlenie zawartości drzewa obiektów, które, analogicznie do „–name -only”, wyświetla tylko identyfikatory obiektów, aby uprościć wywołania ze skryptów. Zaimplementowana jest również opcja „–format”, która umożliwia zdefiniowanie własnego formatu wyjściowego poprzez połączenie informacji o trybie, typie, nazwie i rozmiarze.

Z innych zmian które wyróżniają się na tle nowej wersji:

  • W poleceniu „git bisect run” zaimplementowana jest definicja nieustawiania znaku pliku wykonywalnego dla skryptu i generowania błędów z kodami 126 lub 127 w tym przypadku (poprzednio, jeśli skrypt nie mógł zostać wykonany, wszystkie recenzje były oznaczone jako mające problemy).
  • Dodano opcję „–refetch” do polecenia „git fetch”, aby pobrać wszystkie obiekty bez informowania drugiej strony treści, która jest już w systemie lokalnym. To zachowanie może być przydatne do przywracania stanu po awariach, gdy istnieje niepewność co do integralności danych lokalnych.
  • Polecenia „git update-index”, „git checkout-index”, „git read-tree” i „git clean” obsługują teraz indeksowanie częściowe (indeks rzadki), aby poprawić wydajność i zaoszczędzić miejsce w repozytoriach wykonujących operacje częściowe. (słaba płatność).
  • Zmieniono zachowanie polecenia "git clone --filter=... --recurse-submodules", które teraz prowadzi do częściowego klonowania submodułów (wcześniej przy wykonywaniu takich poleceń filtr był nakładany tylko na główną zawartość, a submoduły były całkowicie sklonowane bez uwzględnienia filtra).
  • Dodano obsługę określania filtrów do selektywnego umieszczania treści w poleceniu „git bundle”, podobnie do operacji częściowego klonowania.
  • Dodano opcję „–recurse-submodules” do polecenia „git branch” w celu rekursywnego przechodzenia przez submoduły.
    Userdiff zaproponował nowy sterownik dla języka Kotlin.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat o nowej wersji Git 2.36 możesz zapoznać się ze szczegółami w poniższy link.


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.