Git 2.26 verwendet jetzt standardmäßig die Protokoll-Version 2, macht Konfigurationen transparenter und verbessert Teil-Checkouts.
Sparse Checkouts, das Auschecken von Teilen eines Repository, wurden bereits mit der letzten Release vorgestellt. Es geht darum, nur Teile eines Codebaums auszuchecken. Bislang war es aber nur möglich, über den Parameter “set” eine Liste von Verzeichnissen zu setzen, die der Entwickler auschecken will. Den Schritt musste er dann jede Mal wiederholen. Der “add”-Befehl macht das nun einfacher: Er erlaubt es, Verzeichnisse nach und nach zu ergänzen, wie es ein Beispiel aus dem Blogpost erläutert. Nach einem Wechsel in das Quellcode-Verzeichnis, in diesem Fall des Git-Quellcodes, initialisiert der Entwickler den teilweisen Checkout, ergänzt dann nacheinander zwei Verzeichnisse und lässt sich diese am Ende anzeigen.
$ cd git $ git sparse-checkout init --cone $ git sparse-checkout add t $ git sparse-checkout add Documentation $ git sparse-checkout list Documentation t
Ebenfalls neu: Git verwendet nun standardmäßig die Version 2 des Protokolls. Das Problem mit dem alten: Hier sendete der Server nach einer ersten Client-Anfrage stets sämtliche Daten über ein Repository. Dabei räumte er dem Client keine Möglichkeit ein, zu erklären, welche Informationen ihn tatsächlich interessieren, was mitunter dazu führte, dass Megabytes an Daten ohne Not über das Netzwerk wanderten. Das und andere Dinge ändert die Protokoll-Version 2, die es zum Beispiel erlaubt, nur einen Branch zu synchronisieren. Dabei kommt das neue Protokoll sowohl mit neuen als auch mit alten Servern zurecht.
Überkonfiguriert
Ein weiteres neues Feature widmet sich dem Konfigurationswirrwarr, denn Git erlaubt es, Konfigurationen an verschiedenen Orten zu übergeben. Es liest sie aus dem Repository selbst (“.git/info/config”), aus dem Home des Users (“~/.gitconfig”), systemweit aus “/etc” (“/etc/gitconfig”) und auch aus Kommandozeilen-Optionen. Über den neuen Schalter “–show-scope” lässt sich nun die Gültigkeit einer Option betrachten. Der Parameter “–show-origin” listet zudem für eine Konfigurationsoption auf, ob diese nur lokal gilt oder im kompletten System.
Daneben arbeitet in Git 2.26 das Tool “git grep” schneller, weil es mehrere Threads verwendet. Für das “git worktree”-Kommando funktioniert nun die Autovervollständigung, die Sub-Kommandos, Pfade und Referenzen ergänzt. Dem “–format”-Parameter lassen sich nun helle Farben über die ANSI-Color-Escape-Sequenzen mit auf den Weg geben. Zudem lässt sich Git 2.26 nun mit Watchman, einem Beobachtungsdienst für Dateien von Facebook, verknüpfen. Watchman behält Datei-Änderungen im Auge und informiert Git darüber. Das beschleunigt Git-Operationen wie “git status” bei großen Repositories. Weitere kleine Änderungen an Git 2.26 verrät die Ankündigung.





