Mit Git 2.18 haben Sie mehr Kontrolle darüber, wie Sie Farben in der Konsole angeben möchten.
Der git config
Befehl " " verwendet separate Optionen, z. B. " --int
", " --bool
" usw., um anzugeben, als welchen Typ der Aufrufer den Wert interpretieren möchte .
Es wurde eine neue --type=<typename>
Option " " eingeführt, die es einfacher macht, neue Typen zu definieren.
Siehe Commit fb0dc3b (18. April 2018) und Commit 0a8950b (09. April 2018) von Taylor Blau ( ttaylorr
) .
(Zusammengeführt von Junio C Hamano - gitster
- in Commit e3e042b , 08. Mai 2018)
builtin/config.c
: Unterstützung --type=<type>
als bevorzugter Alias für--<type>
git config
hat es Anrufern seit langem ermöglicht, einen 'Typspezifizierer' bereitzustellen, der anweist git config
, (1) sicherzustellen, dass eingehende Werte als dieser Typ interpretiert werden können, und (2) dass ausgehende Werte unter diesem Typ kanonisiert werden.
In einer anderen Serie schlagen wir vor, diese Funktionalität zu erweitern
--type=color
und --default
zu ersetzen --get-color
.
Wir verwenden jedoch traditionell --color
"diese Ausgabe einfärben", anstatt "dieser Wert sollte als Farbe behandelt werden".
Derzeit wird git config
diese Art der Kolorierung nicht unterstützt, aber wir sollten darauf achten, dass Sie diese Option nicht zu früh in die Hocke nehmen, damit
git config
sie --color
(im herkömmlichen Sinne) in Zukunft unterstützt werden kann, wenn dies gewünscht wird.
In diesem Patch unterstützen wir --type=<int|bool|bool-or-int|...>
zusätzlich zu --int
, --bool
und usw.
Dies ermöglicht es dem oben genannten bevorstehenden Patch, das Abfragen eines Farbwerts mit einem Standard-Via zu unterstützen --type=color --default=...
, ohne zu verschwenden --color
.
Wir behalten das historische Verhalten bei, uns zu beschweren, wenn mehrere --<type>
Flags im Legacy-Stil angegeben werden, und erweitern dies auf widersprüchliche --type=<type>
Flags im neuen Stil . --int --type=int
(und sein kommutatives Paar) beschwert sich nicht, aber --bool --type=int
(und sein kommutatives Paar).
Also vorher --bool
und --int
jetzt ( Dokumentation ):
--type <type>
' git config
' stellt sicher, dass alle Eingaben oder Ausgaben unter den angegebenen Typbeschränkungen gültig sind, und kanonisiert ausgehende Werte in<type>
der kanonischen Form.
Gültig <type>
sind:
- '
bool
': Werte als " true
" oder " false
" kanonisieren.
- '
int
': Werte als einfache Dezimalzahlen kanonisieren. Ein optionales Suffix von ' k
', ' m
' oder ' g
' bewirkt, dass der Wert bei der Eingabe mit 1024, 1048576 oder 1073741824 multipliziert wird.
- '
bool-or-int
': kanonisieren nach ' bool
' oder ' int
', wie oben beschrieben.
- '
path
': kanonisieren durch Hinzufügen eines Leadings ~
zum Wert von $HOME
und ~user
zum Home-Verzeichnis für den angegebenen Benutzer. Dieser Bezeichner hat keine Auswirkung beim Festlegen des Werts (Sie können ihn jedoch git config section.variable
~/
über die Befehlszeile verwenden, damit Ihre Shell die Erweiterung ausführt.)
- '
expiry-date
': kanonisieren durch Konvertieren von einer festen oder relativen Datumszeichenfolge in einen Zeitstempel. Dieser Bezeichner hat keine Auswirkung auf die Einstellung des Werts.
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).
Beachten Sie, dass Git 2.22 (Q2 2019) erklärt, dass " git config --type=color ...
" ersetzen soll " git config --get-color
, aber es gibt einen kleinen Unterschied, der nicht dokumentiert wurde und der jetzt behoben ist.
Siehe Commit cd8e759 (05. März 2019) von Jeff King ( peff
) .
(Zusammengeführt von Junio C Hamano - gitster
- in Commit f6c75e3 , 20. März 2019)
config
: Die Dokumentausgabe --type=color
ist eine vollständige Zeile
Obwohl die neuere --type=color
Option " " bis " git config
" mit der herkömmlichen Option " " aufwärtskompatibel sein soll --get-color
, ist ihre Ausgabe im Gegensatz zu letzterer keine unvollständige Zeile, der am Ende der LF fehlt.
Das macht es konsistent mit der Ausgabe anderer Typen wie " git config --type=bool
".
Dokumentieren Sie es , da es manchmal ahnungslose Benutzer überrascht.
Dies lautet nun:
--type=color [--default=<default>]
wird gegenüber bevorzugt --get-color
(beachten Sie jedoch, dass --get-color
die von gedruckte neue Zeile nicht weggelassen wird
--type=color
).
Sie können sehen git config --type=bool
, dass mit Git 2.26 (Q1 2020) " git config --bool
" Aufrufe in Beispielvorlagen ersetzt werden.
Siehe Commit 81e3db4 (19. Januar 2020) von Lucius Hu ( lebensterben
) .
(Zusammengeführt von Junio C Hamano - gitster
- in Commit 7050624 , 30. Januar 2020)
templates
: Veraltete Typoption korrigieren --bool
Unterzeichnet von: Lucius Hu
Die --bool
Option to git-config
ist als historisch markiert, und Benutzern wird empfohlen, --type=bool
stattdessen zu verwenden .
Dieses Commit ersetzt alle Vorkommen --bool
in den Vorlagen.
Auch zur Kenntnis, dass keine andere veralteten Typs Optionen gefunden werden , einschließlich --int
, --bool-or-int
, --path
, oder --expiry-date
.