654 Stimmen

Liste der Git-Aliase

Wie kann ich eine Liste meiner Git-Aliase ausgeben, d. h. etwas, das der Bash alias Befehl?

13voto

176coding Punkte 2743

Für Windows:

git config --list | findstr "alias"

11voto

Tom Hale Punkte 32065

Alle Aliasnamen suchen oder anzeigen

Hinzufügen zu Ihrem .gitconfig unter [alias] :

aliases = !git config --list | grep ^alias\\. | cut -c 7- | grep -Ei --color \"$1\" "#"

Dann können Sie

  • git aliases - ALLE Aliasnamen anzeigen
  • git aliases commit - nur Aliasnamen, die "commit" enthalten

4voto

Éric F Punkte 33

Diese einfache Lösung hat bei mir gut funktioniert

  1. einen Alias für die Auflistung von Aliasen erstellen :) git config --global alias.aliases "config --get-regexp '^alias\.'"
  2. es ausführen git aliases zur Auflistung aller unserer andere Aliasnamen

4voto

carej Punkte 566

Ab Git 2.18 können Sie git --list-cmds=alias

3voto

Carson Punkte 3411

Mir gefällt die Antwort von @Thomas, und ich nehme einige Änderungen vor.

Merkmale:

  • Farbe hinzufügen
  • und Eingabeparameter: damit der Benutzer den Befehl auswählen kann (aus git config --get-regexp ^. )
  • Filter hinzufügen

    .gitconfig

    [alias] show-cmd = "!f() { \ sep="" ;\ name=${1:-alias};\ echo -n -e '\033[48;2;255;255;01m' ;\ echo -n -e '\033[38;2;255;0;01m' ;\ echo "$name"; \ echo -n -e '\033[m' ;\ git config --get-regexp ^$name\..*$2+ | \ cut -c 1-40 | \ sed -e s/^$name.// \ -e s/\ /\ $(printf $sep)--\>\ / | \ column -t -s $(printf $sep) | \ sort -k 1 ;\ }; f"

ANWENDUNG

  1. git show-cmd Listenalias
  2. git show-cmd "" st Listenalias und sollte die Zeichenfolge st
  3. git show-cmd i18n anzeigen i18n Einstellung
  4. git show-cmd core editor anzeigen core Einstellung, und sie sollte enthalten editor

DEMO

enter image description here

Es funktioniert auch unter Windows einwandfrei.

Erläuterung

  • können Sie das lange Skript auf .gitconfig verwenden Sie die nachstehende Syntax:

    [alias]
        your-cmd = "!f() { \
            \
        }; f"
  • name=${1:-alias} gleich wie name = $1 if $1 else -alias

  • echo -n -e (mehr sehen echo )

    • -n = Keinen abschließenden Zeilenumbruch ausgeben.
    • -e Aktiviert die Interpretation der folgenden Backslash-escaped
  • '\\033[38;2;255;0;01m' (mehr sehen SGR-Parameter )

    • \\033[48; : 48 bedeutet Hintergrundfarbe.
    • \\033[38;2;255;0;0m : 38 bedeutet Vorderfarbe. 255;0;0 = Rot
  • cut -c 1-40 Um zu vermeiden, dass Ihr Befehl zu lang ist, nehmen Sie nur 40 Zeichen.

  • sed -e 's/be_replace_string/new_string/' String durch einen neuen String ersetzen. (wenn Sie das Sonderzeichen (wie z.B. space , > ...) sollte hinzufügen \\ als Präfix.

  • column -t -s $(printf $sep) formatiert alle Zeilen in eine Tabelle mit gleichmäßigen Spaltenabständen.

  • sort -k 1 sortiert alle Zeilen nach dem Wert in der ersten Spalte

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X