Dadurch wird ein permanenter Git-Alias mit dem Namen erstellt, aliasder in Ihrer ~/.gitconfigDatei gespeichert wird. Wenn Sie es verwenden, werden alle Ihre Git-Aliase in fast demselben Format aufgelistet, wie sie in der ~/.gitconfigDatei enthalten sind. Geben Sie dazu Folgendes ein:
$ git alias
loga = log --graph --decorate --name-status --all
alias = ! git config --get-regexp ^alias\. | sed -e s/^alias\.// -e s/\ /\ =\ /
Es gelten folgende Überlegungen:
Um zu verhindern, dass der Alias aliaswie oben aufgeführt wird, fügen Sie ihn | grep -v ^'alias 'kurz vor dem abschließenden doppelten Anführungszeichen hinzu. Ich empfehle dies nicht, damit Benutzer nicht vergessen, dass der Befehl aliasnur ein Alias ist und keine Funktion von git ist.
Fügen Sie zum Sortieren der aufgelisteten Aliase | sortkurz vor dem abschließenden doppelten Anführungszeichen hinzu. Alternativ können Sie die Aliase ~/.gitconfigsortiert halten.
Um den Alias als systemweiten Alias hinzuzufügen, ersetzen Sie --global(für den aktuellen Benutzer) durch --system(für alle Benutzer). Dies geht normalerweise in die /etc/gitconfigDatei.
Ich mag dieses, weil es das alias.am Anfang jeder Zeile los wird
Brian J
3
Ich weiß nicht warum, aber diese Antwort funktioniert bei mir nicht. Ich bekomme immer fatal: bad config. Die Lösung von Git-extra funktioniert jedoch für mich: github.com/tj/git-extras/blob/master/bin/git-alias
Ashitaka
1
@ Ashitaka, versuchen Sie eine limitierte Version, z git config --global alias.alias "! git config --get-regexp ^alias\.". Stellen git versionSie alternativ sicher, dass Sie eine aktuelle Version von git haben.
Acumenus
Das ist wirklich eine großartige Arbeit und fügt alles auf äußerst benutzerfreundliche Weise zusammen!
UpAndAdam
Ich glaube, Sie können den Teil "! Git" loswerden, der sich im Grunde gegenseitig auflöst. Siehe den abschließenden Abschnitt von Git Aliases
Oder verwenden Sie einfach git config -eIhre Augen, um den [alias]Abschnitt zu finden . Aber Git-Fans scheinen immer ein bisschen Bash-Scripting oder Matching mit regulären Ausdrücken zu verwenden, um ihre Probleme zu lösen, auch wenn es nicht notwendig ist :)
MatrixFrog
39
git config -ebearbeitet nur die .git/configDatei. Aber die meisten meiner Aliase sind global definiert ~/.gitconfig.
Boldewyn
21
Um praktisch zu sein, sollte das sein git config --global alias.aliases config --get-regexp '^alias\.'"... und danngit aliases
Derek Greer
6
@DerekGreer Sie vermissen "irgendwo
Jake Berger
147
Ich habe einen Git-Alias namens (seltsamerweise) aliasfür genau diesen Zweck erstellt ... praktisch von Zeit zu Zeit, wenn Sie genug Aliasing verwenden ...
Apropos leicht zu merken: Sie können den aliasAlias auch einmal erstellen und dann vergessen, dass Sie ihn sogar erstellt haben.
Acumenus
3
Sie können -lals praktische Verknüpfung für verwenden, --listaber ich mag die Idee, einen Alias zum Auflisten der Aliase zu erstellen.
ADTC
1
Gute Lösung, aber besser mit grep mit einem git config --list | grep -E '^alias'
regulären Ausdruck
28
Das Folgende funktioniert unter Linux, MacOSX und Windows (mit msysgit).
Verwenden Sie git la , um Aliase in .gitconfig anzuzeigen
Habe ich 'Bash Scripting' gehört? ;)
Über den 'nicht benötigten' Teil in einem Kommentar oben habe ich im Grunde eine Manpage-ähnliche Übersicht für meine Aliase erstellt. Warum so viel Aufhebens? Ist das nicht völliger Overkill?
Weiter lesen...
Ich habe die Befehle wie folgt in meiner .gitconfig festgelegt, getrennt wie TAB=TAB:
und einfach einen anderen Alias definiert, um den TAB=Teil der definierten Aliase zu erfassen. (Alle anderen Optionen haben keine Tabulatoren vor und nach dem '=' in ihrer Definition, sondern nur Leerzeichen.)
Kommentare, die nicht an einen Alias TAB=====angehängt sind, sind ebenfalls angehängt, sodass sie nach dem Greppen angezeigt werden.
Zur besseren Anzeige leite ich die grep-Ausgabe wie folgt in weniger um:
Basisversion: (schwarz / weiß)
#.gitconfig
[alias]
# use 'git h <command>' for help, use 'git la' to list aliases =====
h = help #... <git-command-in-question>
la = "!grep '\t=' ~/.gitconfig | less"
Der ' \t=' Teil stimmt überein TAB=.
Um einen noch besseren Überblick über meine Aliase zu erhalten und die Bash-Konsole zu verwenden, habe ich die Ausgabe mit Terminalfarben gefärbt:
Alle '=' sind rot gedruckt
Alle '#' sind grün gedruckt
erweiterte Version: (farbig)
la = "!grep '\t=' ~/.gitconfig | sed -e 's/=/^[[0;31m=^[[0m/g' | sed -e 's/#.*/^[[0;32m&^[[0m/g' | less -R"
Grundsätzlich wird wie oben nur die sed- Verwendung hinzugefügt, um die Farbcodes in die Ausgabe zu übertragen.
Die -RFlagge von weniger wird benötigt, um die Farben in weniger anzuzeigen.
(Ich habe kürzlich herausgefunden, dass lange Befehle mit einer Bildlaufleiste unter dem Fenster auf Mobilgeräten nicht korrekt angezeigt werden: Der Text wird abgeschnitten und die Bildlaufleiste fehlt einfach. Dies kann beim letzten Code-Snippet hier der Fall sein. Behalten Sie dies bei Beachten Sie, wenn Sie sich hier unterwegs Code-Schnipsel ansehen.)
Warum so viel Magie wirken lassen?
Ich habe ungefähr eine halbe Meile Aliase, die auf meine Bedürfnisse zugeschnitten sind.
Einige von ihnen ändern sich auch im Laufe der Zeit . Die beste Idee, eine aktuelle Liste zur Hand zu haben, ist das Parsen der .gitconfig.
Ein **** kurzer **** Auszug aus meinen .gitconfig-Aliasen:
# choose =====
a = add #...
aa = add .
ai = add -i
# unchoose =====
rm = rm -r #... unversion and delete
rmc = rm -r --cached #... unversion, but leave in working copy
# do =====
c = commit -m #...
fc = commit -am "fastcommit"
ca = commit -am #...
mc = commit # think 'message-commit'
mca = commit -a
cam = commit --amend -C HEAD # update last commit
# undo =====
r = reset --hard HEAD
rv = revert HEAD
In meinen Linux- oder Mac-Workstations gibt es auch weitere Aliase in den .bashrc's, ähnlich wie:
#.bashrc
alias g="git"
alias gh="git h"
alias gla="git la"
function gc { git c "$*" } # this is handy, just type 'gc this is my commitmessage' at prompt
Auf diese Weise müssen Sie nicht tippen git help submodule, müssen nicht git h submodule, es ist nur gh submodulealles, was Sie benötigen, um Hilfe zu erhalten. Es sind nur einige Zeichen, aber wie oft tippst du sie ein?
Ich benutze alle folgenden, natürlich nur mit Verknüpfungen ...
hinzufügen
verpflichten
Commit - Amend
zurücksetzen --hard HEAD
drücken
holen
Rebase
Auschecken
Ast
Show-Zweig (in vielen Variationen)
Shortlog
reflog
diff (in Variationen)
log (in vielen Variationen)
Status
Show
Anmerkungen
...
Das war nur von oben.
Ich muss oft Git ohne GUI verwenden, da viele der Git-Befehle in keinem der grafischen Frontends richtig implementiert sind. Aber jedes Mal, wenn ich sie benutze, ist es meistens auf die gleiche Weise.
Zum im letzten Absatz erwähnten Teil "nicht implementiert":
Ich habe noch nichts Vergleichbares in einer GUI gefunden: sba = show-branch --color=always -a --more=10 --no-name- Alle lokalen und Remote-Zweige sowie die darin enthaltenen Commits anzeigen ccm = "!git reset --soft HEAD~ && git commit"- Letzte Commit-Nachricht ändern
Aus einer einfacheren Sicht:
Wie oft tippen Sie git add .oder git commit -am "..."? Nicht einmal den Rest zählen ...
Dinge zum Laufen bringen wie git aaoder git ca "..."in Windows
oder mit Bash-Aliasen gaa/ g aaoder gca "..."/ g ca "..."unter Linux und auf Macs ...
Für meine Bedürfnisse schien es eine kluge Sache zu sein, Git-Befehle wie diesen anzupassen ...
... und zur einfacheren Verwendung habe ich mir nur bei weniger verwendeten Befehlen geholfen, sodass ich nicht jedes Mal die Manpages konsultieren muss. Befehle sind vordefiniert und das Nachschlagen ist so einfach wie möglich.
Ich meine, wir sind doch Programmierer? Es ist unsere Aufgabe, Dinge so zum Laufen zu bringen, wie wir sie brauchen.
Hier ist ein zusätzlicher Screenshot, der unter Windows funktioniert:
BONUS: Wenn Sie unter Linux oder Mac arbeiten, können farbige Manpages Ihnen einiges helfen:
Ich kann dies nicht mit Windows zum Laufen bringen. Die Ausgänge sind leer für zBla = "!grep '\t=' ~/.gitconfig | less"
chwi
1
@ Wilhelmsen: Hast du vielleicht Dinge aus der obigen Liste kopiert und eingefügt? Haben Sie wirklich einen TABVorgänger =? Mit Leerzeichen wird es nicht funktionieren. Ich hatte selbst Leerzeichen in meinen Fenstern .gitconfig. Sobald ich sie durch einen einzelnen Tabstop ersetzt habe, verhält sich cmd.exe wie erwartet.
Sjas
2
Überentwicklung
Waffe X
hängt davon ab, wie oft du etwas benutzt
sjas
16
Verwenden git varund filtern Sie nur diejenigen, die beginnen mit alias:
Wie in anderen Antworten erwähnt, werden git config -lalle Ihre Konfigurationsdetails aus Ihrer Konfigurationsdatei aufgelistet. Hier ist ein Teilbeispiel dieser Ausgabe für meine Konfiguration:
help: Ändern Sie eine Nachricht, um genauer zu sein
Wenn der Benutzer versucht, die --helpOption ' ' für einen Alias-Befehl zu verwenden, werden Informationen zum Alias wie folgt gedruckt:
$ git co --help
`git co' is aliased to `checkout'
Dies scheint nicht korrekt zu sein, da der Benutzer nur ' co' und nicht ' git co' aliasiert hat .
Dies kann sogar in Fällen falsch sein, in denen der Benutzer einen Alias wie ' tgit' verwendet hat.
$ tgit co --help
`git co' is aliased to `checkout'
( Hinweis: Dies funktioniert bei mir in Git Bash unter Windows . Bei anderen Terminals müssen Sie möglicherweise die Escape-Funktion anpassen. )
Erläuterung
!git config --get-regexp ^alias\\. druckt alle Zeilen aus der Git-Konfiguration, die mit beginnen alias.
sed -e s/^alias.//wird alias.aus der Zeile entfernt
sed -e s/\\ /\\ $(printf \"\\043\")--\\>\\ /ersetzt das erste Vorkommen eines Leerzeichens durch \\ $(printf \"\\043\")--\\>(das zu ausgewertet wird #-->).
column -t -s $(printf \"\\043\")formatiert alle Zeilen in eine gleichmäßig verteilte Spaltentabelle. Das Zeichen, $(printf \"\\043\")das ausgewertet #wird, wird als Trennzeichen verwendet.
sort -k 1 sortiert alle Zeilen basierend auf dem Wert in der ersten Spalte
$ (printf \ "\ 043 \")
Dies gibt nur das Zeichen #(hex 043) aus, das für die Spaltentrennung verwendet wird. Ich benutze diesen kleinen Hack, damit der aliasesAlias selbst den #Charakter nicht buchstäblich enthält . Andernfalls würden diese #Zeichen beim Drucken ersetzt.
Hinweis : Ändern Sie dies in ein anderes Zeichen, wenn Sie Aliase mit Literalzeichen benötigen #.
@Urasquirrel: Auf welchem Betriebssystem treten Probleme auf? Dies funktioniert für mich in Git Bash unter Windows und in Bash unter Mac OS X (Apple Git).
Thomas
Es waren definitiv Fenster, aber ein Jahr oder länger später bin ich mir nicht 100% sicher.
Können Sie ein Befehlszeilenbeispiel für die Verwendung zusammen mit der Beispielausgabe zeigen?
Acumenus
Eingebaut in was? Ich kann nichts dergleichen in msysgit finden. Wo genau hast du das gefunden?
ADTC
2
Weder beim direkten Aufruf vom Terminal noch als Argument für git wird eine Wertausgabe erzeugt. Wofür genau ist das eingebaut?
Einverstanden-ascyphous
4
Arbeitete für mich in Git Bash. $ __git_aliases gibt eine Liste von Aliasen zurück, obwohl nicht angezeigt wird, wofür sie aliasisiert sind.
Jaypb
1
@ADTC Die Codezeile in dieser Antwort ist ein Befehlszeilenbeispiel. Das $ bezeichnet die typische Linux-Terminal-Eingabeaufforderung. Geben Sie den Rest dieser Zeile in ein solches Terminal ein und klicken Sie auf ENTERund es wird eine Liste Ihrer Aliase angezeigt. Funktioniert sowohl unter Linux als auch unter Windows (Git Bash), da es in Git integriert ist. (Es ist wahrscheinlich eine Funktion, die Git intern verwendet, um Aliase aufzulösen, wenn sie in der Befehlszeile verwendet werden.)
Superole
1
Wenn Sie den Namen des Alias kennen, können Sie ihn mit der --helpOption beschreiben. Zum Beispiel:
$ git sa --help
`git sa' is aliased to `stash'
$ git a --help
`git a' is aliased to `add'
Sie geben nur den Alias cmd zurück, nicht dessen Inhalt. Gibt es eine Option, um das zu bekommen?
Carles Alcolea
0
Noch ein gitAlias (genannt alias), der Git-Aliase druckt: Fügen Sie Ihrem [alias]Abschnitt gitconfig Folgendes hinzu :
[alias]
# lists aliases matching a regular expression
alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"
Beispiel für eine Verwendung, bei der der vollständige Aliasname angegeben wird (entspricht genau dem Aliasnamen: dh ^foobar$) und einfach der Wert angezeigt wird:
$ git alias st
alias.st status -s
$ git alias dif
alias.dif diff
Oder geben Sie regexp an, das alle übereinstimmenden Aliase und Werte anzeigt:
Vorsichtsmaßnahmen: Geben Sie den regulären Ausdruck an, um die Shell-Erweiterung als Glob zu verhindern. Dies ist jedoch technisch nicht erforderlich, wenn keine Dateien mit dem Muster übereinstimmen. Außerdem ist jeder reguläre Ausdruck in Ordnung, außer ^(Musteranfang) und $(Musterende) können nicht verwendet werden. sie sind impliziert. Angenommen, Sie verwenden nicht git-aliasvon git-extras.
Natürlich werden Ihre Aliase auch anders sein; Dies sind nur einige, die ich konfiguriert habe. (Vielleicht finden Sie sie auch nützlich.)
Antworten:
Diese Antwort baut auf der Antwort von Johnny auf . Dies gilt, wenn Sie nicht
git-alias
von verwendengit-extras
.Führen Sie unter Linux einmal Folgendes aus:
Dadurch wird ein permanenter Git-Alias mit dem Namen erstellt,
alias
der in Ihrer~/.gitconfig
Datei gespeichert wird. Wenn Sie es verwenden, werden alle Ihre Git-Aliase in fast demselben Format aufgelistet, wie sie in der~/.gitconfig
Datei enthalten sind. Geben Sie dazu Folgendes ein:Es gelten folgende Überlegungen:
Um zu verhindern, dass der Alias
alias
wie oben aufgeführt wird, fügen Sie ihn| grep -v ^'alias '
kurz vor dem abschließenden doppelten Anführungszeichen hinzu. Ich empfehle dies nicht, damit Benutzer nicht vergessen, dass der Befehlalias
nur ein Alias ist und keine Funktion von git ist.Fügen Sie zum Sortieren der aufgelisteten Aliase
| sort
kurz vor dem abschließenden doppelten Anführungszeichen hinzu. Alternativ können Sie die Aliase~/.gitconfig
sortiert halten.Um den Alias als systemweiten Alias hinzuzufügen, ersetzen Sie
--global
(für den aktuellen Benutzer) durch--system
(für alle Benutzer). Dies geht normalerweise in die/etc/gitconfig
Datei.quelle
alias.
am Anfang jeder Zeile los wirdfatal: bad config
. Die Lösung von Git-extra funktioniert jedoch für mich: github.com/tj/git-extras/blob/master/bin/git-aliasgit config --global alias.alias "! git config --get-regexp ^alias\."
. Stellengit version
Sie alternativ sicher, dass Sie eine aktuelle Version von git haben.quelle
'^alias\.'
git config -e
Ihre Augen, um den[alias]
Abschnitt zu finden . Aber Git-Fans scheinen immer ein bisschen Bash-Scripting oder Matching mit regulären Ausdrücken zu verwenden, um ihre Probleme zu lösen, auch wenn es nicht notwendig ist :)git config -e
bearbeitet nur die.git/config
Datei. Aber die meisten meiner Aliase sind global definiert~/.gitconfig
.git config --global alias.aliases config --get-regexp '^alias\.'"
... und danngit aliases
"
irgendwoIch habe einen Git-Alias namens (seltsamerweise)
alias
für genau diesen Zweck erstellt ... praktisch von Zeit zu Zeit, wenn Sie genug Aliasing verwenden ...$ git config --global alias.alias "config --get-regexp ^alias\."
Beachten Sie, dass der reguläre Ausdruck sicherstellt, dass die Zeile mit beginnt
alias.
.quelle
--system
stattdessen ist--global
so etwas auf Systemebene nützlicher, nicht auf Benutzerebene.alias = config --get-regexp ^alias\\.
.git config --global alias.alias "!git config --get-regexp ^alias\. | grep -Po '(?<=alias\.)\S*' | sort"
Eine andere Alternative (etwas, an das ich mich leicht erinnern kann):
git config --list | grep alias
quelle
alias
Alias auch einmal erstellen und dann vergessen, dass Sie ihn sogar erstellt haben.-l
als praktische Verknüpfung für verwenden,--list
aber ich mag die Idee, einen Alias zum Auflisten der Aliase zu erstellen.git config --list | grep -E '^alias'
Das Folgende funktioniert unter Linux, MacOSX und Windows (mit msysgit).
Verwenden Sie git la , um Aliase in .gitconfig anzuzeigen
Habe ich 'Bash Scripting' gehört? ;)
Über den 'nicht benötigten' Teil in einem Kommentar oben habe ich im Grunde eine Manpage-ähnliche Übersicht für meine Aliase erstellt. Warum so viel Aufhebens? Ist das nicht völliger Overkill?
Weiter lesen...
Ich habe die Befehle wie folgt in meiner .gitconfig festgelegt, getrennt wie TAB=TAB:
und einfach einen anderen Alias definiert, um den TAB=Teil der definierten Aliase zu erfassen. (Alle anderen Optionen haben keine Tabulatoren vor und nach dem '=' in ihrer Definition, sondern nur Leerzeichen.)
Kommentare, die nicht an einen Alias TAB=====angehängt sind, sind ebenfalls angehängt, sodass sie nach dem Greppen angezeigt werden.
Zur besseren Anzeige leite ich die grep-Ausgabe wie folgt in weniger um:
Basisversion: (schwarz / weiß)
Der '
\t=
' Teil stimmt überein TAB=.Um einen noch besseren Überblick über meine Aliase zu erhalten und die Bash-Konsole zu verwenden, habe ich die Ausgabe mit Terminalfarben gefärbt:
erweiterte Version: (farbig)
Grundsätzlich wird wie oben nur die sed- Verwendung hinzugefügt, um die Farbcodes in die Ausgabe zu übertragen.
Die
-R
Flagge von weniger wird benötigt, um die Farben in weniger anzuzeigen.(Ich habe kürzlich herausgefunden, dass lange Befehle mit einer Bildlaufleiste unter dem Fenster auf Mobilgeräten nicht korrekt angezeigt werden: Der Text wird abgeschnitten und die Bildlaufleiste fehlt einfach. Dies kann beim letzten Code-Snippet hier der Fall sein. Behalten Sie dies bei Beachten Sie, wenn Sie sich hier unterwegs Code-Schnipsel ansehen.)
Warum so viel Magie wirken lassen?
Ich habe ungefähr eine halbe Meile Aliase, die auf meine Bedürfnisse zugeschnitten sind.
Einige von ihnen ändern sich auch im Laufe der Zeit . Die beste Idee, eine aktuelle Liste zur Hand zu haben, ist das Parsen der .gitconfig.
Ein **** kurzer **** Auszug aus meinen .gitconfig-Aliasen:
In meinen Linux- oder Mac-Workstations gibt es auch weitere Aliase in den .bashrc's, ähnlich wie:
Auf diese Weise müssen Sie nicht tippen
git help submodule
, müssen nichtgit h submodule
, es ist nurgh submodule
alles, was Sie benötigen, um Hilfe zu erhalten. Es sind nur einige Zeichen, aber wie oft tippst du sie ein?Ich benutze alle folgenden, natürlich nur mit Verknüpfungen ...
Das war nur von oben.
Ich muss oft Git ohne GUI verwenden, da viele der Git-Befehle in keinem der grafischen Frontends richtig implementiert sind. Aber jedes Mal, wenn ich sie benutze, ist es meistens auf die gleiche Weise.
Zum im letzten Absatz erwähnten Teil "nicht implementiert":
Ich habe noch nichts Vergleichbares in einer GUI gefunden:
sba = show-branch --color=always -a --more=10 --no-name
- Alle lokalen und Remote-Zweige sowie die darin enthaltenen Commits anzeigenccm = "!git reset --soft HEAD~ && git commit"
- Letzte Commit-Nachricht ändernAus einer einfacheren Sicht:
Wie oft tippen Sie
git add .
odergit commit -am "..."
? Nicht einmal den Rest zählen ...Dinge zum Laufen bringen wie
git aa
odergit ca "..."
in Windowsoder mit Bash-Aliasen
gaa
/g aa
odergca "..."
/g ca "..."
unter Linux und auf Macs ...Für meine Bedürfnisse schien es eine kluge Sache zu sein, Git-Befehle wie diesen anzupassen ...
... und zur einfacheren Verwendung habe ich mir nur bei weniger verwendeten Befehlen geholfen, sodass ich nicht jedes Mal die Manpages konsultieren muss. Befehle sind vordefiniert und das Nachschlagen ist so einfach wie möglich.
Ich meine, wir sind doch Programmierer? Es ist unsere Aufgabe, Dinge so zum Laufen zu bringen, wie wir sie brauchen.
Hier ist ein zusätzlicher Screenshot, der unter Windows funktioniert:
BONUS: Wenn Sie unter Linux oder Mac arbeiten, können farbige Manpages Ihnen einiges helfen:
kolorierte Manpages
quelle
la = "!grep '\t=' ~/.gitconfig | less"
TAB
Vorgänger=
? Mit Leerzeichen wird es nicht funktionieren. Ich hatte selbst Leerzeichen in meinen Fenstern.gitconfig
. Sobald ich sie durch einen einzelnen Tabstop ersetzt habe, verhält sich cmd.exe wie erwartet.Verwenden
git var
und filtern Sie nur diejenigen, die beginnen mitalias
:quelle
Wie in anderen Antworten erwähnt, werden
git config -l
alle Ihre Konfigurationsdetails aus Ihrer Konfigurationsdatei aufgelistet. Hier ist ein Teilbeispiel dieser Ausgabe für meine Konfiguration:So können wir die Aliaszeilen auslesen, indem wir
git config -l | grep alias
:Wir können dies schöner machen , indem wir nur
cut
denalias.
Teil jeder Zeile herausfiltern und uns diesen Befehl überlassen:Welche Drucke:
Vergessen Sie nicht, dies als Alias hinzuzufügen:
Genießen!
quelle
für Windows:
quelle
Ich erwähnte im Juni 2018 mit " Übersichtsliste - am häufigsten verwendete Git-Befehle " den Git 2.18 "use
--list-cmds=alias
( commit 3301d36 )", den carej in seiner Antwort meldet .Darüber hinaus
git config --get-regexp alias
können Sie die Ausgabe mit kombinierengit help
, deren Ausgabe sich mit Git 2.14.x / 2.15 ändert:Siehe Commit b3a8076 (12. September 2017) von Kaartic Sivaraam (
sivaraam
) .(Zusammengeführt von Junio C Hamano -
gitster
- in Commit 5079cc8 , 25. September 2017)quelle
Suche oder zeige alle Aliase
Fügen Sie Ihrem
.gitconfig
Unter hinzu[alias]
:Dann können Sie tun
git aliases
- ALLE Aliase anzeigengit aliases commit
- nur Aliase mit "commit"quelle
Ich verwende diesen Alias in meinem globalen
~/.gitconfig
um die folgende Ausgabe zu erzeugen
( Hinweis: Dies funktioniert bei mir in Git Bash unter Windows . Bei anderen Terminals müssen Sie möglicherweise die Escape-Funktion anpassen. )
Erläuterung
!git config --get-regexp ^alias\\.
druckt alle Zeilen aus der Git-Konfiguration, die mit beginnenalias.
sed -e s/^alias.//
wirdalias.
aus der Zeile entferntsed -e s/\\ /\\ $(printf \"\\043\")--\\>\\ /
ersetzt das erste Vorkommen eines Leerzeichens durch\\ $(printf \"\\043\")--\\>
(das zu ausgewertet wird#-->
).column -t -s $(printf \"\\043\")
formatiert alle Zeilen in eine gleichmäßig verteilte Spaltentabelle. Das Zeichen,$(printf \"\\043\")
das ausgewertet#
wird, wird als Trennzeichen verwendet.sort -k 1
sortiert alle Zeilen basierend auf dem Wert in der ersten Spalte$ (printf \ "\ 043 \")
Dies gibt nur das Zeichen
#
(hex 043) aus, das für die Spaltentrennung verwendet wird. Ich benutze diesen kleinen Hack, damit deraliases
Alias selbst den#
Charakter nicht buchstäblich enthält . Andernfalls würden diese#
Zeichen beim Drucken ersetzt. Hinweis : Ändern Sie dies in ein anderes Zeichen, wenn Sie Aliase mit Literalzeichen benötigen#
.quelle
Es gibt eine eingebaute Funktion ... versuchen
listet alle Aliase auf :)
quelle
$
bezeichnet die typische Linux-Terminal-Eingabeaufforderung. Geben Sie den Rest dieser Zeile in ein solches Terminal ein und klicken Sie aufENTER
und es wird eine Liste Ihrer Aliase angezeigt. Funktioniert sowohl unter Linux als auch unter Windows (Git Bash), da es in Git integriert ist. (Es ist wahrscheinlich eine Funktion, die Git intern verwendet, um Aliase aufzulösen, wenn sie in der Befehlszeile verwendet werden.)Wenn Sie den Namen des Alias kennen, können Sie ihn mit der
--help
Option beschreiben. Zum Beispiel:quelle
Ab Git 2.18 können Sie verwenden
git --list-cmds=alias
quelle
Noch ein
git
Alias (genanntalias
), der Git-Aliase druckt: Fügen Sie Ihrem[alias]
Abschnitt gitconfig Folgendes hinzu :Beispiel für eine Verwendung, bei der der vollständige Aliasname angegeben wird (entspricht genau dem Aliasnamen: dh
^foobar$
) und einfach der Wert angezeigt wird:Oder geben Sie regexp an, das alle übereinstimmenden Aliase und Werte anzeigt:
Vorsichtsmaßnahmen: Geben Sie den regulären Ausdruck an, um die Shell-Erweiterung als Glob zu verhindern. Dies ist jedoch technisch nicht erforderlich, wenn keine Dateien mit dem Muster übereinstimmen. Außerdem ist jeder reguläre Ausdruck in Ordnung, außer
^
(Musteranfang) und$
(Musterende) können nicht verwendet werden. sie sind impliziert. Angenommen, Sie verwenden nichtgit-alias
vongit-extras
.Natürlich werden Ihre Aliase auch anders sein; Dies sind nur einige, die ich konfiguriert habe. (Vielleicht finden Sie sie auch nützlich.)
quelle