Newsgather
GeriGit 2.54 bringt experimentellen history-Befehl und flexiblere Hook-Definition
Git 2.54 bringt experimentellen history-Befehl und flexiblere Hook-Definition
Teknoloji
Heise Online21.04.2026Teknoloji2 dk okumaGermany

Git 2.54 bringt experimentellen history-Befehl und flexiblere Hook-Definition

Das verteilte Versionsverwaltungssystem Git 2.54 enthält einen neuen experimentellen Befehl git history sowie die Möglichkeit, Hooks über Konfigurationsdateien zu definieren.

Hızlı Bakış

  • Git 2.54 ist erschienen mit einem experimentellen git history-Befehl und flexiblerer Hook-Definition.
  • Der neue Befehl ermöglicht das Ändern von Commit-Nachrichten und das Aufteilen von Commits, ohne Working Tree und Index zu verändern.
  • Hooks lassen sich nun zentral in Konfigurationsdateien definieren und auf alle Repositories anwenden.

Yapay zekâ özeti

Neden Önemli?

Git ist ein verteiltes Versionsverwaltungssystem, das ursprünglich von Linus Torvalds entwickelt wurde. Die neue Version 2.54 führt einen experimentellen Befehl ein, der die Commit-Historie vereinfacht verändern kann.

Yazı boyutu

Das verteilte Versionsverwaltungssystem Git 2.54 ist erschienen. Ein experimenteller git history-Befehl und ein veränderter Umgang mit Hooks zählen zu den wichtigsten Neuerungen in dem Release, an dem 137 Personen mitgewirkt haben.

Commit-Historie verändern mit git history

Wie GitHub in einem Blogeintrag ausführt, bot Git bisher bereits Möglichkeiten, die Historie eines Projekts zu verändern. So lassen sich mit git rebase -i Commits anders anordnen, editieren oder verwerfen. Das ändert jedoch auch Working Tree und Index, was weitreichende Aktionen nach sich ziehen kann. Für einfache Fälle steht daher nun der experimentelle Befehl git history bereit, der unter der Haube auf der Funktionsweise von git replay basiert.

git history unterstützt die beiden Vorgänge reword und split. Mit git history reword <commit> können Entwicklerinnen und Entwickler eine Commit-Nachricht im Editor öffnen und anpassen, um zum Beispiel einen Tippfehler zu berichtigen. Das aktualisiert ebenfalls Branches, die aus diesem Commit hervorgehen. Im Gegensatz zu git rebase verändern sich Working Tree und Index hierbei jedoch nicht.

Die zweite mögliche Aktion, git history split <commit>, erlaubt das Aufteilen eines Commits in zwei verschiedene Commits. Zu den bewussten Einschränkungen des history-Befehls zählt, dass er weder mit Historien umgehen kann, die Merge Commits enthalten, noch Vorgänge durchführen, die Merge-Konflikte auslösen würden.

Flexiblere Hook-Definition

Eine weitere bedeutende Neuerung betrifft den Umgang mit Git-Hooks. Diese ließen sich bisher nur als ausführbare Skripte definieren, die sich in einem spezifischen Verzeichnis befanden – standardmäßig im Unterverzeichnis hooks des .git-Verzeichnisses. Das brachte einige Schwierigkeiten mit sich, wie GitHub erläutert: Wollten Entwickler beispielsweise vor jedem Commit auf allen Repositories einen Linter laufen lassen, so mussten sie das entsprechende Skript in jedes Repository kopieren, was zu Arbeitsaufwand und Fehleranfälligkeit führte.

Diese Probleme soll Git 2.54 lösen, denn Hooks lassen sich nun in den Konfigurationsdateien definieren. Statt ein Skript in .git/hooks/pre-commit zu platzieren, ist nun diese Alternative möglich:

[hook "linter"] event = pre-commit command = ~/bin/linter --cpp20

Auf diese Weise lassen sich Hooks zentral definieren und auf alle Repos anwenden. Eine solche Konfiguration kann sich User-basiert in ~/.gitconfig befinden, systemweit in /etc/gitconfig oder in einer lokalen Konfigurationsdatei eines Repositories. Entwicklerinnen und Entwickler können zudem mehrere Hooks für ein bestimmtes Event definieren oder Hooks wahlweise in einem Repository deaktivieren.

Weitere Informationen zu diesen und anderen Neuerungen in Git 2.54 finden sich in den Release Notes.

Açık Sorular

  • Wann wird git history aus dem experimentellen Status entfernt?
  • Welche weiteren Funktionen sind für git history geplant?

İlgili Konular

Bu haber ilk olarak şurada yayınlandı: Heise Online.

İlgili Haberler

Bu konuda daha fazlagit