|

Awesome git extras

Als Linus Torvalds im Jahr 2005 Git schuf, war ihm wohl nicht sofort bewusst welchen Impact er damit auf die moderne Software-Entwicklung haben würde. Selbstverständlich wurde Git damals nur so groß wie nötig und so klein wie möglich entwickelt. Im Lauf der Jahre hat die Development Community einige Zusatzfunktionen für das beliebte VCS programmiert.

TJ Holowaychuk's Projekt Git Extras beherbergt mehr als 60 dieser "Extras" mit Funktionen, die die Grundfunktionalität von Git erweitern. Heute möchte ich ein paar davon vorstellen.

Installieren

Wenn Du macOS nutzt, wird die Installation von Git Extras am besten mit Homebrew durchgeführt (wie bei den meisten Open-Source-Tools):

brew install git-extras

Unter Linux ist Git Extras über den nativen Paketmanager jeder Plattform verfügbar. Vollständige Installationsanweisungen für andere Linux-Distributionen, BSD und andere Plattformen findest Du in der Datei Installation.md im Repository.

Starten

Um einen Überblick aller extras zu erhalten, lohnt es sich nach der Installation einfach mal git extras --help auszuführen. Alternativ gibt es im repository auch eine Commands.md die alle Extras aufführt und erklärt. Sehr nice!

git summary

Erzeugt im Repository eine nützliche Zusammenfassung die ungefähr so aussieht:

project  : frontend-docusaurus
 repo age : vor 1 Jahr, und 10 Monaten
 active   : 90 days
 commits  : 261
 files    : 202
 authors  :
    79	Florian               30.3%
    69	Hannes                26.4%
    56	Maxi                  21.5%
     8	Leif                  3.1%
     7	Willi                 2.7%
     4	Alexander             1.5%
     4	Florian               1.5%
     2	Marco                 0.8%
     2	Daniel                0.8%
     1	Julian                0.4%
     1	Nils                  0.4%

git mr <NUMMER>

Checkt den Merge Request aus, den Du mit <NUMMER> angibst!

$ git mr 51
From gitlab.com:owner/repository
 * [new ref]         refs/merge-requests/51/head -> mr/51
Switched to branch 'mr/51'

git commits-since

Gibt alle Commits bis zu einem bestimmten Zeitpunkt aus. Das sieht ungefähr so aus:

$ git commits-since
... changes since last week
TJ Holowaychuk - Fixed readme
TJ Holowaychuk - Added git-repl
TJ Holowaychuk - Added git-delete-tag
TJ Holowaychuk - Added git-delete-branch

$ git commits-since yesterday
... changes since yesterday
TJ Holowaychuk - Fixed readme

git browse

Öffnet das aktuelle Repository im Browser.

git reset-file

Mit git reset-file kannst Du Files entweder auf den letzten Stand im Repository zurücksetzen, oder auf einen bestimmten Commit!

$ git reset-file .htaccess
$ git reset-file .htaccess dc82b19