Skip to main content

10 Git-Aliase für einen schnelleren und produktiveren Git-Workflow

Artikel von
Headshot of Royee Shemesh

Royee Shemesh

2. Dezember 2020

0 Min. Lesezeit

Git als Tool zur Codeverwaltung zu verwenden, gehört für Entwicklerinnen und Entwickler zum Alltag. Vielleicht gestalten auch Sie Ihren Git-Workflow über die Befehlszeile – am besten mit dunklem Design, oder?

Eine grafische Oberfläche für Git kann in einer integrierten Entwicklungsumgebung (IDE) wie IntelliJ oder VS Code praktisch sein. Manchmal müssen Sie jedoch auf die Befehlszeilenschnittstelle (CLI) zurückgreifen.

In diesem Artikel stellen wir Ihnen 10 Git-Aliase vor, mit denen Sie Ihren Git-Workflow allein oder im Team schneller und produktiver gestalten können.

Die Git-Spiele mögen beginnen!

Wie richten Sie einen Git-Alias ein?

Ihre Git-Aliase werden häufig in der Benutzerkonfiguration unter ~/.gitconfig gespeichert. Sie können Aliase auch manuell festlegen, zum Beispiel mit dem Befehl git config alias.s ‘status -s’.

Als Nächstes sehen wir uns die Git-Aliase an, die Sie in einem bestimmten Abschnitt [alias] in Ihre Datei ~/.gitconfig einfügen sollten. Dort werden alle Aliase und die zugehörigen Befehle gespeichert. Unten finden Sie einige Beispiele für die Konfiguration von Git-Aliasen in dieser Datei.

Wie lassen sich Git-Aliase auflisten?

Die Git-Binärdatei bietet eine Befehlszeilenoption, mit der Sie die gesamte Git-Konfiguration und deren Ursprung (System, Benutzer oder lokal) auflisten können. Mit dem folgenden Git-Befehl wird die gesamte Git-Konfiguration einschließlich ihrer Ursprünge ausführlich angezeigt: git config --list --show-origin.

[alias]
    s = status
    co = checkout

Git-Status

Führen Sie häufig den Befehl git status aus? Ich schon! Mit dem folgenden Git-Alias erhalten Sie eine praktische Abkürzung:

[alias]
    s = status

So sieht das in Aktion aus:

$ git s

On branch main
Your branch is up to date with 'origin/main.

nothing to commit, working tree clean

Git-Checkout

Auch zwischen Git-Branches wechseln wir häufig. Verkürzen wir diesen Vorgang!

Fügen Sie den Alias hinzu:

[alias]
co = checkout

Und probieren Sie ihn dann aus:

$ git co feat/add-popup

Sie können einen Git-Branch übrigens auch über eine Abkürzung auschecken, zum Beispiel mit git checkout -. Damit wechseln Sie zum vorherigen Branch. Dieser Befehl ist eine Kurzform von git checkout @{-1}. Deshalb funktioniert auch der Alias git co -.

Einen neuen Branch erstellen und zu ihm wechseln

Wenn Sie häufig über die CLI neue Git-Branches erstellen, sparen Sie mit diesem Alias einige Tastenanschläge:

[alias]
cob = checkout -b

Verwenden Sie ihn so:

$ git cob feat/add-popup

Switched to a new branch 'feat/add-popup'

Einen Branch löschen

Einen Branch zu löschen, ist vielleicht nichts, was Sie oft tun. Wenn es aber nötig ist, kann es zeitraubend sein, die passenden Git-Befehle und Optionen zu googeln. Stattdessen können Sie einen kürzeren und einprägsameren Alias für den Git-Branch-Checkout erstellen:

[alias]
del = branch -D

Verwenden Sie ihn so:

$ git del feat/add-popup
Deleted branch featureB (was b5cbv113).

Alle Branches auflisten

Wenn wir an mehreren Funktionen arbeiten, haben wir in unserem Git-Workflow meist auch mehrere Git-Branches. Dann kann es schwierig sein, herauszufinden, wo wir zuletzt aufgehört haben und welchen Branch wir verwendet haben.

Der folgende Git-Alias listet alle Branches auf und sortiert sie nach Commit-Datum. Dabei wird der Branch mit den jüngsten Commits zuerst angezeigt.

[alias]

br = branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate

So verwenden Sie den Alias und so könnte die Ausgabe aussehen:

$ git br
Terminal-Screenshot mit dem Git-Master-Branch in Version v0.0.0-development und einer kürzlich vorgenommenen Korrektur an der deps-lockfile.

Wie Sie sehen, liefert der Alias zusätzlichen Kontext, etwa den Namen der Autorin oder des Autors der letzten Commits, und hebt die Angaben farbig hervor.

Git-Commit

Häufig und früh zu committen, ist eine der Stärken von Git. Das geht schnell und verursacht aufgrund der Funktionsweise der Git-internen Prozesse keinen zusätzlichen Aufwand. Warum also nicht öfter committen?

Das hängt ganz von Ihrem Git-Workflow ab. Wenn Sie jedoch häufig mit Git arbeiten und ebenso häufig Commits speichern möchten, damit Sie den Überblick über Ihre Arbeit behalten, ist der Text der Commit-Nachricht möglicherweise weniger wichtig – insbesondere, wenn Sie mit Pull Requests arbeiten.

Damit Sie Ihren Git-Workflow beim Speichern von Commit-Zwischenständen schneller und produktiver gestalten können, fügt der folgende Git-Alias alle nicht gestagten Git-Dateien schnell zum Staging-Bereich hinzu und versieht sie mit einer allgemeinen Commit-Nachricht.

[alias]
save = !git add -A && git commit -m 'chore: commit save point

So sieht das in Aktion aus:

$ git save

[feat/add-popup 98cba110acb] chore: commit save point
1 file changed, 1 insertion(+)

Änderungen rückgängig machen

Falls Sie Änderungen committen und anschließend wieder rückgängig machen müssen, verschiebt der folgende Alias alle Änderungen Ihres Commits zurück in den lokalen, nicht gestagten Bereich. So können Sie sie bearbeiten und zum Staging-Bereich hinzufügen, der oft auch als Index bezeichnet wird.

[alias]
    undo = reset HEAD~1 --mixed

Sobald Sie diesen Git-Alias aufrufen, können Sie mit git undo den vorherigen Commit auf diesem Branch zurücksetzen. Alle zuvor committeten Änderungen werden wieder als nicht committet ausgecheckt, sodass Sie Ihre Arbeit daran fortsetzen können.

Verwenden Sie ihn so:

$ git undo
Unstaged changes after reset:
M app.js

Alle Änderungen verwerfen

Wir alle wünschen uns manchmal einen Neuanfang, oder? Wenn Sie Ihre lokalen Änderungen schnell bereinigen möchten, ohne sie zu diesem Zeitpunkt ins Repository zu committen – auch nicht lokal –, verwenden Sie diesen Alias:

[alias]
 res = !git reset --hard

Damit werden alle gestagten Änderungen zurückgesetzt, also jene, die Sie mit dem Befehl git add hinzugefügt haben. So sieht das in Aktion aus:

$ git res
HEAD is now at 6e7879bc81a chore: commit save point 

Änderungen zum Upstream pushen

Wenn Sie mit der Arbeit am Code fertig sind, pushen Sie Ihre Commits wie alle anderen zum Git-Repository, oder? Häufig verwenden wir dafür einen längeren Befehl: git push origin oder git push origin main.

Wenn Sie jedoch mit demselben Branchnamen arbeiten, auf den Sie Änderungen pushen möchten, können Sie den Namen des Remote-Branches als HEAD aliasieren. Mit diesem Alias pushen Sie Ihre Commits aus dem lokalen Git-Repository zu den Remotes origin oder upstream – mit der einfachen Abkürzung git done:

[alias]
    done = !git push origin HEAD

Dieser Alias und die Abkürzung HEAD sind besonders nützlich, wenn Branch-Namen lang sind. So einfach verwenden Sie den Alias:

$ git done

Enumerating objects: 42, done.
Counting objects: 100% (42/52), done.
Delta compression using up to 8 threads
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 1.63 KiB | 7.63 MiB/s, done.
Total 42 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 8 local objects.
To github.com:royeeshemesh/git-workflow.git
   bc535183..1e42d90  HEAD -> main

Git-Log

Zum Abschluss stellen wir Ihnen einen der nützlichsten Git-Befehle vor: git log. Es gibt viele Möglichkeiten, mit Git-Aliasen die Log-Ausgabe anzupassen. Ich empfehle Ihnen jedoch diesen benutzerdefinierten Git-Alias:

[alias]
    lg = !git log --pretty=format:\"%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) [%an]\" --abbrev-commit -30

Mit diesem Git-Alias wird die Ausgabe von git log deutlich lesbarer. Probieren Sie ihn aus:

$ git log
Terminal-Screenshot mit einem Git-Protokoll, das den farblich gekennzeichneten Commit-Verlauf und Branch-Bezeichnungen zeigt.

Zusammenfassung der Git-Aliase

Wir haben 10 Git-Aliase zusammengestellt, mit denen Sie Ihre Produktivität steigern und Ihren Git-Workflow beschleunigen können, wenn Sie über die Befehlszeile arbeiten.

Hier finden Sie die vollständige Liste der Git-Aliase, die Sie in Ihre Datei ~/.gitconfig einfügen können:

[alias]
    s = status
    co = checkout
    cob = checkout -b
    del = branch -D    
    br = branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate
    save = !git add -A && git commit -m 'chore: savepoint'
    undo = reset HEAD~1 --mixed
    res = !git reset --hard
    done = !git push origin HEAD
    lg = !git log --pretty=format:\"%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) [%an]\" --abbrev-commit -30
What’s next?

Wie geht es weiter?

Wir empfehlen Ihnen, auch unsere 10 Best Practices für die GitHub-Sicherheit anzusehen. Und wenn Sie schon dabei sind: Verbinden Sie Ihr Git-Repository mit Snyk, um Sicherheitslücken in Open-Source-Abhängigkeiten Ihrer Projekte zu finden und zu beheben.

Starten Sie mit Capture-the-Flag

Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Challenges lösen.

Gepostet in: