Git --distributed-is-the-new-centralized
Chapters ▾

2.6 Basi di Git - Suggerimenti

Suggerimenti

Prima di terminare questo capitolo sulle basi di Git, ecco alcuni suggerimenti e trucchi per rendere la tua esperienza con Git più semplice, più facile e più familiare. Molte persone usano Git ma nessuno di questi suggerimenti e in seguito nel libro non ci riferiremo ad essi né presumeremo che tu li abbia usati, ma probabilmente dovresti sapere come realizzarli.

Completamento automatico

Se usi una shell Bash, Git fornisce uno script carino per il completamento automatico che potresti usare. Scaricalo direttamente dai sorgenti di Git su https://github.com/git/git/blob/master/contrib/completion/git-completion.bash. Copia questo file nella tua directory home e al tuo file .bashrc aggiungi:

source ~/.git-completion.bash

Se vuoi che Git usi il comletamento automatico in Bash per tutti gli utenti, copia lo script nella directory /opt/local/etc/bash_completion.d sui sistemi Mac o in /etc/bash_completion.d/ sui sistemi Linux. Questa è una directory di script che Bash carica automaticamente, per fornire il completamento automatico nella shell.

Se stai usando Windows con Git Bash, che è il predefinito quando installi Git su Windows con msysGit, il completamento automatico dovrebbe essere preconfigurato.

Premi il tasto Tab quando stai scrivendo un comando Git, e dovresti vedere una serie di suggerimenti tra cui scegliere:

$ git co<tab><tab>
commit config

In questo caso, scrivendo git co e premendo poi due volte il tasto Tab, compaiono i suggerimenti commit e config. Aggiungendo m<tab> automaticamente si completa git commit.

Questo funziona anche con le opzioni, che probabilmente è molto più utile. Se per esempio stai eseguendo git log e non ricordi un'opzione, puoi premere il tasto Tab per vedere quelle disponibili:

$ git log --s<tab>
--shortstat  --since=  --src-prefix=  --stat   --summary

Questo è un trucco davvero utile e permette di risparmiare molto tempo e evitarti la lettura della documentazione.

Alias di Git

Git non indovina il tuo comando se ne digiti solo una parte. Se non vuoi vuole scrivere tutto il testo di un qualsiasi comando Git puoi configurare facilmente un alias per ogni comando usando git config. Di seguito ci sono alcuni esempi che potresti voler usare:

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

Questo significa che, per esempio, invece di digitare git commit, dovrai scrivere solo git ci. Andando avanti con l'uso di Git userai alcuni comandi con maggiore frequenza: e in questi casi non esitare a creare nuovi alias.

Questa tecnica può essere anche molto utile per creare comandi che ritieni dovrebbero esistere. Per esempio, per correggere un problema comune in cui si incorre quando si vuole rimuovere un file dall'area di stage, puoi aggiungere il tuo alias unstage in Git:

$ git config --global alias.unstage 'reset HEAD --'

Questo rende equivalenti i due comandi seguenti:

$ git unstage fileA
$ git reset HEAD fileA

Questo sembra più pulito. É anche comodo aggiungere il comando last, così:

$ git config --global alias.last 'log -1 HEAD'

In questo modo puoi vedere facilmente l'ultima commit:

$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <dreamer3@example.com>
Date:   Tue Aug 26 19:48:51 2008 +0800

    test for current head

    Signed-off-by: Scott Chacon <schacon@example.com>

Come immaginerai, Git semplicemente sostituisce il nuovo comando con qualsiasi cosa corrisponda all'alias. Potresti anche voler eseguire un comando esterno, piuttosto che uno di Git. In questo caso devi iniziare il comando con un "!". Questo è utile se stai scrivendo degli strumenti di lavoro tuoi per lavorare con un repository Git. Vediamolo praticamente creando l'alias git visual per eseguire gitk:

$ git config --global alias.visual '!gitk'