Come visualizzare il git branch nel prompt del terminale.
Se usate il terminale per gestire i vostri progetti e soprattutto usate git come vostro version control system, può essere molto comodo avere in ogni momento sotto controllo in quale branch si sta lavorando.
Con i sistemi operativi GNU/Linux (in particolare in questo esempio si sta utilizzando ubuntu 22.04), solitamente il prompt dei comandi del terminale mostra l'utente e la directory in cui si sta lavorando in quel momento.
Per rendere più facile la gestione del progetto, è possibile far comparire direttamente nel prompt del terminale il branch in cui si sta lavorando. In questo modo si evita di interrogare il sistema con il comando git branch
che restituisce il branch corrente.
Ciò è possibile modificando alcuni parametri contenuti nel file ~/.bashrc
. Questo file contiene le impostazioni essenziali per l'utilizzo e la personalizzazione della shell per ciascun utente. Spesso queste configurazioni sono contenute anche in altri files: per esempio se si usa zsh il corrispettivo file sarà ~/.zshrc
.
Configurazione
Ecco cosa fare per aggiungere il branch al prompt dei comandi. Aprendo il file di configurazione ~/.bashrc
cerchiamo nel file la sezione che contiene queste righe di codice.
...
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
...
Modifichiamo queste righe per far comparire il branch. Andiamo ad aggiungere in primo luogo, una funzione che permette di ricavare il branch dal comando git.
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
Dopodichè sostituiamo le righe esistenti con i nuovi valori indicati di seguito (quello commentato è il valore vecchio da sostituire).
if[ "$color_prompt" = yes ]; then
# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
Il risultato finale è quindi questo:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
if[ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
unset color_prompt force_color_prompt
Ora salviamo il file, e applichiamo i cambiamenti ricaricando il file di configurazione (o eseguiendo un nuovo accesso alla shell).
source ~/.bashrc
Ora entrando in una directory che contiene un progetto che utilizza il version control git, l'attuale branch compare nel prompt dei comandi.
Possiamo provare a cambiare branch per vedere il come cambia il prompt.
Bel Colpo!
Installare un certificato root CA su UBUNTU
Quando si utilizzano nella propria azienda o nel proprio homelab certificati self-signed, c'è la necessità di aggiungere nel trust store di una macchina il root CA certificate emesso da una Certification Authority locale, in modo che possa connettere usando il protocolo SSL.
2023-08-22
ilDug
#ubuntu #openssl #certification authority
Come inviare email dal terminale con SSMTP
In questo articolo si mostra come impostare un semplice comando che invia un'email dal terminale. Il suo nome è ssmtp, in combinazione con mailutils.
2023-08-16
ilDug
#terminale #SSMTP #email #ubuntu #bash