Versionsverwaltung Git 2.23: Experimentelle Alternativen zu Git Checkout

Die neuen Befehle "git switch" und "git restore" sollen künftig für Klarheit in den Checkout-Prozessen von Git sorgen.

In Pocket speichern vorlesen Druckansicht 11 Kommentare lesen
Versionsverwaltung Git 2.23: Experimentelle Alternativen zu Git Checkout
Lesezeit: 2 Min.
Von
  • Björn Bohn

Das Versionskontrollsystem Git ist in Version 2.23 erschienen. Größte Neuerung dürften die experimentellen Befehle git switch und git restore sein. Sie sind als Unterkommandos des bekannten git checkout zu verstehen und sollen für eine klare Abgrenzung der bisher mit Checkout möglichen Funktionsweisen sorgen. Insgesamt haben es rund 500 Commits in die neue Version geschafft.

Der GitHub-Blog fasst die Beweggründe hinter den neuen Funktionen zusammen. Demnach konnten Entwickler git checkout für einige Anwendungsfälle nutzen – etwa um den Branch zu wechseln, einen neuen zu erstellen, oder auch um einzelne Dateien zu ändern. git switch und git restore sollen diese Aufgaben nun voneinander trennen und die Funktionszuordnung eindeutiger machen. Switch zielt auf den Umgang mit Branches, Restore hingegen auf das Arbeiten mit Dateien ab.

Mit dem Befehl $ git switch mein-branch können Entwickler folglich nun zum Branch "mein-branch" wechseln. Die Dokumentation stellt weitere Anwendungsmöglichkeiten des Befehls dar. Demnach kann beispielsweise $ git switch -c mein-neuer-branch dazu dienen, einen neuen Branch zu erstellen. Das wäre die äquivalente Funktion zum bisherigen git checkout --branch.

Während der Switch-Befehl Branches im Blick hat, soll sich Restore vor allem um Dateien kümmern. Beim Einsatz von git restore haben Anwender mehrere Optionen. Ergänzt man den Befehl durch --worktree oder verzichtet auf eine Spezifikation, landen die Änderungen in der Arbeitskopie. Gibt man hingegen --staged an, finden sie sich im Index wieder. Außerdem ist es möglich, beide anzugeben, um Änderungen in beiden zu spiegeln.

Durch eine --source-Option können Nutzer wahlweise Dateien aus einem spezifischen Tree wiederherstellen. Bei einer fehlenden Angabe bezieht Git die Informationen von Staging. Mehr zu den unterschiedlichen Funktionsweisen des neuen Befehls sind in der Dokumentation zu finden.

Da die Funktionen noch als experimentell gekennzeichnet sind, kann das Git-Team Änderungen an der Funktionsweise nicht ausschließen. In diesem Fall sollen Anwender im Blog entsprechend informiert werden. Einen vollständigen Überblick über alle Neuerungen in Git 2.23 bieten die Release Notes. (bbo)