git to jeden z najpopularniejszych, niezawodnych i wysokowydajnych systemów kontroli wersji, i zapewnia elastyczne nieliniowe narzędzia programistyczne oparte na wersjach i połączeniach.
Aby zapewnić integralność historia i odporność na zmiany z perspektywy czasu, jest używane niejawne mieszanie całej poprzedniej historii w każdym potwierdzeniu a także podpisy cyfrowe poszczególnych twórców tagów i potwierdzenia.
Ostatnio wydano nową wersję rozproszonego systemu kontroli wersji Git 2.27.0.W porównaniu do poprzedniej wersji, nowa wersja przyjęła 537 zmian, przygotowanych przy udziale 71 programistów, z których 19 uczestniczyło po raz pierwszy w rozwoju
Najważniejsze cechy Git 2.27.0
W nowej wersji Git 2.27.0, domyślne włączenie drugiej wersji protokołu komunikacyjnego Git zostało anulowane, który jest używany podczas zdalnego łączenia się klienta z serwerem Git. Protokół nie został jeszcze rozpoznany, ale jest domyślnie gotowy do użycia ze względu na identyfikację śliskich problemów, które wymagają odrębnego rozpatrzenia.
Z drugiej strony aby uniknąć nieporozumień w tej nowej wersji, polecenie „git opisz” zawsze użyj rozszerzonego trybu wyjścia („–Long”), jeśli zostanie wykryty zastąpiony znacznik powiązany z zatwierdzeniem. Tak jak poprzednio, został wyświetlony podpisany lub opatrzony adnotacją znacznik opisujący zatwierdzenie, nawet jeśli zmieniono jego nazwę lub przeniesiono go do hierarchii „refs / tags /”.
Uruchomienie „git pull” powoduje teraz wyświetlenie ostrzeżenia jeśli zmienna konfiguracji pull.rebase nie jest jawnie ustawiona i opcje „- [no-] overflow” lub „–ff-only” nie mają zastosowania. Aby wyłączyć ostrzeżenie dla tych, którzy nie mają zamiaru przesłonić, możesz ustawić zmienną na fałsz.
Oni mają dodał kilka nowych akcji do «git update-ref – stdinTo pozwalają na bezpośrednią kontrolę transakcji aktualizacji łączaNa przykład, aby zaimplementować dwuetapową aktualizację łącza atomowego w wielu repozytoriach.
Ponadto, poprawione opcje pobierania git wspólne dla git fetch. Podobne opcje, niewymienione powyżej, zostały udokumentowane i przekazane do pobierania brakujących opcji git.
Dodano możliwość wyświetlania nagłówków From: i Subject:: brak zmian w poprawce formatu git bez konwersji znaków, które nie są w kodowaniu ASCII.
opcja "–Show-pulls" zostało dodane do "git log", pozwalając ci zobaczyć nie tylko zatwierdzenia, w których zostały wprowadzone zmiany, ale także zatwierdzenie do scalenia tych zmian z oddzielnej gałęzi.
Przetwarzanie interaktywnych danych wejściowych we wszystkich komponentach zostało ujednolicone, a wywołanie fflush () zostało dodane po wyświetleniu żądania wejścia, ale przed operacją odczytu.
W „git rebase” dozwolone jest ponowne zastosowanie wszystkich lokalnych zatwierdzeń bez uprzedniego wykonywania operacji «checkoutNawet jeśli niektóre z nich były wcześniej upstream.
Wartość zmiennej konfiguracyjnej „pack.useSparse” została zastąpiona wartością „true”, aby włączyć domyślne optymalizacje prezentowane wcześniej jako eksperymentalne.
Z pozostałych zmian:
- Dodano zestaw opcji konfigurowania połączeń SSL podczas uzyskiwania dostępu przez serwer proxy.
- Rozszerzono informacje wyświetlane podczas korzystania z filtrów konwersji „czyste” i „smużenie”. Na przykład jest teraz wyświetlany obiekt drzewa, w którym pojawia się przekonwertowany obiekt BLOB.
- Dodano opcję „–autostash” do „git merge”.
- Ulepszony interfejs kasy.
- Dodano opcję –no-gpg-sign do polecenia git rebase, aby zastąpić ustawienie commit.gpgSign.
- Dodano szablony różnic użytkowników dla dokumentów Markdown.
- Usunięto ograniczenie wykluczania dla wszystkich tras w szablonach z niskimi wynagrodzeniami prowadzące do pustego drzewa zadań.
- Operacja „git restore –staged –worktree” teraz domyślnie używa zawartości gałęzi „HEAD” zamiast wyświetlać błąd.
- Kontynuowano prace nad przejściem na algorytm mieszający SHA-2 zamiast SHA-1.
- Przerobiony kod do interakcji z GnuPG.
źródło: https://github.com/