Newsgather
GeriGit 2.54 veröffentlicht: Neuer Befehl git history und flexiblere Hooks
Git 2.54 veröffentlicht: Neuer Befehl git history und flexiblere Hooks
Teknoloji
Heise Online21.04.2026Teknoloji1 dk okumaGermany

Git 2.54 veröffentlicht: Neuer Befehl git history und flexiblere Hooks

Das aktuelle Release des Versionsverwaltungssystems führt experimentelle Funktionen zur Historienbearbeitung und eine zentrale Hook-Konfiguration ein.

Hızlı Bakış

  • Git 2.54 wurde veröffentlicht und bringt mit dem experimentellen Befehl 'git history' eine vereinfachte Möglichkeit zur Anpassung der Commit-Historie.
  • Zudem ermöglichen neue Konfigurationsoptionen eine flexiblere und zentralere Verwaltung von Git-Hooks.

Yapay zekâ özeti

Neden Önemli?

Git ist ein weit verbreitetes verteiltes Versionsverwaltungssystem. Hooks sind Skripte, die bei bestimmten Git-Ereignissen automatisch ausgeführt werden.

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ührt, 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.

Bundan Sonra Ne Olabilir?

Yapay zekâ öngörüsü — kesinlik taşımaz

  • Entwickler werden den neuen 'git history'-Befehl in ihren Workflows testen.

    Muhtemel · Haftalar içinde

Açık Sorular

  • Wann wird der 'git history'-Befehl den experimentellen Status verlassen?

İlgili Konular

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

İlgili Haberler

Bu konuda daha fazlagit