Skip to content

Git Aliase

Optimieren Sie Ihren Versionskontroll-Workflow mit leistungsstarken Verknuepfungen.

Uebersicht

Git-Aliase erstellen Verknuepfungen fuer haeufig verwendete Git-Befehle. Als Teil der Dotfiles-Konfiguration werden diese Aliase automatisch ueber Chezmoi geladen.

In git.aliases.sh und signing.aliases.sh definiert, sind die Aliase in jeder Bash- oder Zsh-Sitzung nach der Installation verfuegbar.

Referenz

Kern

AliasBefehlBeschreibung
ggitKurzform fuer git
gtpgit rev-parse --show-toplevelOberstes Verzeichnis des Repositories ausgeben
grpagit rev-parse --abbrev-ref HEADAktuellen Branch-Namen ausgeben
gconflgit config --listAlle Git-Konfigurationseinstellungen auflisten
gconfrgit config --local --get remote.origin.urlRemote-Origin-URL ausgeben
gconfdiffgit config alias.dcolor "diff --color-words"Farbwort-Diff-Alias konfigurieren

Arbeitsbereich

AliasBefehlBeschreibung
gagit addDateien stagen
gaagit add --allAlle Aenderungen stagen (verfolgt und unverfolgt)
gadgit add .Alles im aktuellen Verzeichnis stagen
gaugit add --updateAenderungen und Loeschungen stagen (keine neuen Dateien)
gclgit cloneRepository klonen
gingit initNeues Git-Repository initialisieren
gcogit checkoutBranches wechseln oder Arbeitsdateien wiederherstellen
gcbgit checkout -bNeuen Branch erstellen und wechseln
gdisgit checkout --Aenderungen im Arbeitsverzeichnis verwerfen
grsgit restoreArbeitsdateien wiederherstellen
gmvgit mvDatei verschieben oder umbenennen
grmgit rmDateien aus Arbeitsbaum und Index entfernen
grmcgit rm --cachedDatei entstagen (auf Festplatte behalten)
gstgit statusStatus des Arbeitsbaums anzeigen
gstsgit status --shortStatus im Kurzformat
gstsbgit status --short --branchKurzstatus mit Branch- und Tracking-Info
gstagit stash saveAktuelle Aenderungen stashen
gstpgit stash popNeuesten Stash anwenden und entfernen
gstdgit stash dropNeuesten Stash-Eintrag loeschen
gcloutgit clean -df && git checkout -- .Alle Aenderungen und unverfolgte Dateien verwerfen

Commits

AliasBefehlBeschreibung
gcgit commit -aAlle verfolgten Aenderungen committen
gcagit commit --amendLetzten Commit aendern
gcallgit add -A && git commit -avAlles stagen und ausfuehrlich committen
gcamgit commit --amend --messageCommit mit neuer Nachricht aendern
gcanegit commit --amend --no-editCommit ohne Aenderung der Nachricht aendern
gcmgit commit --messageCommit mit Inline-Nachricht

Diff und Historie

AliasBefehlBeschreibung
gdgit diffUngestagete Aenderungen anzeigen
gdchgit diff --name-statusNamen und Status geaenderter Dateien anzeigen
gdhgit diff HEADAlle Aenderungen seit letztem Commit anzeigen
gdstagedgit diff --stagedGestagete Aenderungen anzeigen
gdcachedgit diff --cachedAenderungen zwischen Index und HEAD anzeigen
gdstatgit diff --stat --ignore-space-change -rDiffstat ohne Leerzeichenaenderungen generieren
glgit log --since="last month" --onelineEinzeiliges Log des letzten Monats
glggit log --graph --all --oneline --decorateGraph-Log aller Branches
glgggit log --oneline --graph --full-history --all --color --decorateVollstaendiges Graph-Log mit Farbe
glcgit log --oneline --reverseChronologisches einzeiliges Log
gldgit log --since=1-day-agoLog der letzten 24 Stunden
gldcgit log -1 --date-order --format=%cIISO 8601-Datum des letzten Commits
gldlgit log --date=localLog mit Daten in lokaler Zeitzone
glfgit log ORIG_HEAD.. --stat --no-mergesNeue Commits nach Fetch (ohne Merges)
gll(dekoriertes Graph-Format)Detailliertes Graph-Log mit Autor und GPG-Status

Branches

AliasBefehlBeschreibung
gbgit branchLokale Branches auflisten
gbdgit branch -dGemergten Branch loeschen
gblgit branch -lBranches nach Muster auflisten
gbrgit branch -rRemote-Branches auflisten
gbrdgit branch -d -rRemote-Tracking-Branch loeschen
gbrsbgit show-branchBranches und ihre Commits anzeigen
gswbgit switchBranches wechseln (modern)
gcodegit checkout main && git branch --merged | xargs git branch --deleteAlle in main gemergten Branches loeschen
gcomgit checkout main && git fetch origin --prune && git reset --hard origin/mainLokalen main auf Remote zuruecksetzen

Remotes und Push/Pull

AliasBefehlBeschreibung
gfgit fetchVon Remote fetchen
gpgit pullVon Remote pullen
gphgit pushZu Remote pushen
gpogit push originZu origin pushen
gpbgit push --set-upstream origin $(git branch --show-current)Pushen und Upstream fuer aktuellen Branch setzen
gpollgit push origin --allAlle Branches zu origin pushen
gpullgit pullVon Remote pullen
gpushgit pushZu Remote pushen
grgit remoteRemotes verwalten
gragit remote addNeuen Remote hinzufuegen
grallgit remote | xargs -L1 git push --allAlle Branches zu allen Remotes pushen
graogit remote add originOrigin-Remote hinzufuegen
grvgit remote -vRemote-URLs anzeigen

Revert und Reset

AliasBefehlBeschreibung
grevgit revertCommit rueckgaengig machen
grevncgit revert --no-commitOhne Auto-Commit rueckgaengig machen
grbgit rebaseAktuellen Branch rebasen
grbkgit reset --soft HEAD^Letzten Commit rueckgaengig, Aenderungen gestaget behalten
gresclgit reset --hard HEAD~1 && git clean -fdHard-Reset und unverfolgte Dateien bereinigen
greshgit reset --hard HEAD~1Hard-Reset zum vorherigen Commit
grespgit reset --hard && git clean -ffdxAlles auf urspruenglichen Zustand zuruecksetzen
gressgit reset --soft HEAD~1Soft-Reset (Aenderungen gestaget behalten)

Submodule

AliasBefehlBeschreibung
gsmgit submoduleSubmodule verwalten
gsmigit submodule initSubmodule initialisieren
gsmagit submodule addSubmodul hinzufuegen
gsmsgit submodule syncSubmodul-URLs mit .gitmodules synchronisieren
gsmugit submodule updateSubmodule aktualisieren
gsmuigit submodule update --initSubmodule aktualisieren und initialisieren
gsmuirgit submodule update --init --recursiveSubmodule aktualisieren, initialisieren und rekursiv

Werkzeuge

AliasBefehlBeschreibung
gggit grepRepository-Inhalte durchsuchen
gbsgit bisectBinaersuche fuer fehlerverursachenden Commit
undopushgit push -f origin HEAD^:masterLetzten Push zu master erzwungen rueckgaengig machen

Signierung und Sicherheit

AliasBefehlBeschreibung
enable-signing(interaktiver Assistent)GPG- oder SSH-Commit-Signierung konfigurieren
verify-signaturesgit log --show-signature -n 10Signaturen der letzten 10 Commits verifizieren
check-signinggit config --list | grep "gpg|signing"Aktuelle Signierungskonfiguration pruefen