Massimo Oliviero

I deliri digitali di un programmatore informatico e aspirante fotografo…
novembre 16th, 2011 by Massimo

Mac OSX, abilitare l’auto completamento e i colori di Git

Utilizzo quotidianamente git da molti mesi e fin dall’inizio ho sentito l’esigenza di migliorare l’esperienza d’uso di questo strumento. Quello che non tutti sanno è che la versione installata su Mac OSX è configurata in modo essenziale  e questo vuol dire che:

  1. non ci sono colori nel comando status
  2. non c’è l’auto completamento dei comandi di git
  3. non ci sono nel prompt delle indicazioni sul branch in uso
In pratica se entriamo in un progetto e digitiamo git status quello che otteniamo è una listato uniforme e molto confuso (figura 1)
Andiamo con ordine. Per prima cosa abilitiamo i colori di git con questo semplice comando:
$ git config color.ui true
Se ora digitiamo il comando git status otteniamo
Decisamente meglio. Next step: attivare l’auto completamento dei comandi git. Per farlo è necessario scaricare i file che servono dal repository ufficiale in questo modo:
$ mkdir /tmp # se non esiste già
$ cd /tmp
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git
$ git checkout v`git --version | awk '{print $3}'`
$ cp contrib/completion/git-completion.bash ~/.git-completion.bash
$ cd ~
$ rm -rf /tmp/git
$ echo -e ">> .profile
In particolare quest’ultimo comando creerà il file .profile nello home directory dell’utente se non esiste. Se tutto è andato a buon fine l’auto complemtamento dei comandi git dovrebbe essere attivo. Quindi digitando per esempio:
$ git stat[tab]
Il comando dovrebbe auto-completarsi. Andiamo oltre, attiviamo anche la visualizzazione sul prompt dei comandi il nome del branch attivo e il suo stato. Per farlo basta modificare il file .profile, sulla home directory dell’utente, e aggiungere il seguente codice:
GIT_PS1_SHOWDIRTYSTATE=true
 
if [ -f /opt/local/etc/bash_completion ]; then
    . /opt/local/etc/bash_completion
fi
 
PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[34m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '
Già che ci siamo diamo anche un tocco di colore alla shell in generale aggiungendo due righe in testa al file (se non sono già presenti):
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
Riavviamo il Terminale, entriamo in un progetto git e digitiamo git status quello che otteniamo è mostrato nella figura seguente.
Beh che dire, tutta un’altra storia!!! ;)

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">