Wie kann ich eine Liste meiner Git-Aliase ausgeben, d. h. etwas, das der Bash alias
Befehl?
Antworten
Zu viele Anzeigen?Wie in anderen Antworten erwähnt, git config -l
listet alle Konfigurationsdetails aus Ihrer Konfigurationsdatei auf. Hier ist ein Teil dieser Ausgabe für meine Konfiguration:
...
alias.force=push -f
alias.wd=diff --color-words
alias.shove=push -f
alias.gitignore=!git ls-files -i --exclude-from=.gitignore | xargs git rm --cached
alias.branches=!git remote show origin | grep \w*\s*(new^|tracked) -E
core.repositoryformatversion=0
core.filemode=false
core.bare=false
...
Wir können also die Alias-Zeilen ausfindig machen, indem wir git config -l | grep alias
:
alias.force=push -f
alias.wd=diff --color-words
alias.shove=push -f
alias.gitignore=!git ls-files -i --exclude-from=.gitignore | xargs git rm --cached
alias.branches=!git remote show origin | grep \w*\s*(new^|tracked) -E
Wir können das Ganze noch hübscher machen, indem wir einfach cut
tung der alias.
Teil jeder Zeile, so dass wir diesen Befehl erhalten:
git config -l | grep alias | cut -c 7-
Welche Drucke:
force=push -f
wd=diff --color-words
shove=push -f
gitignore=!git ls-files -i --exclude-from=.gitignore | xargs git rm --cached
branches=!git remote show origin | grep \w*\s*(new^|tracked) -E
Vergessen Sie nicht, dies als Alias hinzuzufügen:
git config --global alias.la "!git config -l | grep alias | cut -c 7-"
Viel Spaß!
Ich habe im Juni 2018 mit " Übersichtsliste - meistgenutzte Git-Befehle " die Git 2.18 "use --list-cmds=alias
( 3301d36 übertragen )", dass carej Berichte in seine Antwort .
git --list-cmds=alias
Zusätzlich zu diesem oder dem git config --get-regexp alias
können Sie die Ausgabe mit git help
dessen Ausgabe sich mit Git 2.14.x/2.15 ändern wird:
"
git help co
" sagt jetzt "co is aliased to ...
", nicht "git co is
".
Voir Übergabe b3a8076 (12. September 2017) von Kaartic Sivaraam ( sivaraam
) .
(Zusammengefasst von Junio C. Hamano -- gitster
-- sur 5079cc8 festlegen , 25. September 2017)
help
: Ändern Sie eine Nachricht, um sie zu präzisierenWenn der Benutzer versucht, die Option '
--help
' auf einen Alias-Befehl werden Informationen über den Alias wie unten dargestellt ausgegeben:
$ git co --help
`git co' is aliased to `checkout'
Dies scheint nicht korrekt zu sein, da der Benutzer nur ' ' aliasiert hat.
co
' und nicht 'git co
'.
Dies kann sogar in Fällen falsch sein, in denen der Benutzer einen Alias wie 'tgit
'.
$ tgit co --help
`git co' is aliased to `checkout'
Ich benutze dieser Aliasname in meinem globalen ~/.gitconfig
# ~/.gitconfig
[alias]
aliases = !git config --get-regexp ^alias\\. | sed -e s/^alias.// -e s/\\ /\\ $(printf \"\\043\")--\\>\\ / | column -t -s $(printf \"\\043\") | sort -k 1
zur Herstellung der folgende Ausgabe
$ git aliases
aliases --> !git config --get-regexp ^alias\. | sed -e s/^alias.// -e s/\ /\ $(printf "\043")--\>\ / | column -t -s $(printf "\043") | sort -k 1
ci --> commit -v
cim --> commit -m
co --> checkout
logg --> log --graph --decorate --oneline
pl --> pull
st --> status
... --> ...
( Hinweis: Dies funktioniert bei mir in git bash unter Windows . Bei anderen Terminals müssen Sie möglicherweise das Escaping anpassen. )
Erläuterung
!git config --get-regexp ^alias\\.
gibt alle Zeilen von git config aus, die mitalias.
sed -e s/^alias.//
beseitigtalias.
aus der Leitungsed -e s/\\ /\\ $(printf \"\\043\")--\\>\\ /
ersetzt das erste Vorkommen eines Leerzeichens durch\\ $(printf \"\\043\")--\\>
(was zu folgenden Ergebnissen führt#-->
).column -t -s $(printf \"\\043\")
formatiert alle Zeilen zu einer gleichmäßig verteilten Spaltentabelle. Das Zeichen$(printf \"\\043\")
was zu folgenden Ergebnissen führt#
wird als Trennzeichen verwendet.sort -k 1
sortiert alle Zeilen nach dem Wert in der ersten Spalte
$(printf \" \043\ ")
Dies druckt nur das Zeichen #
(hex 043), die für die Säulentrennung verwendet wird. Ich verwende diesen kleinen Hack, damit die aliases
alias selbst enthält nicht wörtlich die #
Zeichen. Andernfalls würde es diese ersetzen #
Zeichen beim Drucken. Nota : Ändern Sie dies in ein anderes Zeichen, wenn Sie Aliasnamen mit wörtlicher #
Zeichen.