git-branch
non ti permette di fare questo
C'è un modo per i nomi filiali colore nella produzione di git branch
secondo alcune regole regexp-based senza usando gli script esterni?
No; Git non ti offre un modo per personalizzare i colori nell'output di git branch
in base a modelli corrispondenti ai nomi dei rami.
scrivere uno script personalizzato
Il migliore che è venuta in mente finora è quello di eseguire git branch
tramite uno script esterno, e creare un alias.
Un approccio è infatti quello di scrivere uno script personalizzato. Tuttavia, si noti che git branch
è un comando Git porcellana e, come tale, non deve essere utilizzato negli script. Preferisco il comando Git idraulico git-for-each-ref
per quello.
Ecco un esempio di tale script; personalizzalo in base alle tue esigenze.
#!/bin/sh
# git-colorbranch.sh
if [ $# -ne 0 ]; then
printf "usage: git colorbranch\n\n"
exit 1
fi
# color definitions
color_master="\033[32m"
color_feature="\033[31m"
# ...
color_reset="\033[m"
# pattern definitions
pattern_feature="^feature-"
# ...
git for-each-ref --format='%(refname:short)' refs/heads | \
while read ref; do
# if $ref the current branch, mark it with an asterisk
if [ "$ref" = "$(git symbolic-ref --short HEAD)" ]; then
printf "* "
else
printf " "
fi
# master branch
if [ "$ref" = "master" ]; then
printf "$color_master$ref$color_reset\n"
# feature branches
elif printf "$ref" | grep --quiet "$pattern_feature"; then
printf "$color_feature$ref$color_reset\n"
# ... other cases ...
else
printf "$ref\n"
fi
done
creare un alias fuori di esso
Mettere lo script sul vostro percorso ed eseguire
git config --global alias.colorbranch '!sh git-colorbranch.sh'
prova
Ecco quello che mi capita in un repo giocattolo (in GNU bash):
Guardando [git branch] (http://stackoverflow.com/questions/31984968/color-git-branches-based-on-their-names) doc. Non penso che sia possibile – Vishwanath
Usare uno script personalizzato è la strada da percorrere, ma usa 'git for-each-ref' (plumbing) piuttosto che' git branch' (porcellana). – Jubobs
'git for-each-ref' sembra interessante, non l'ho mai usato prima. –