Da Anonimo (non verificato) , 29 Aprile 2026

Introduzione

Git ricompensa la scioltezza da riga di comando. Poche piccole abitudini rendono il lavoro quotidiano enormemente più veloce e sicuro. Questa pagina raccoglie i consigli a maggior impatto per i nuovi utenti.

Sapere sempre dove sei

Aggiungi lo stato Git al prompt della shell. Sia Bash che Zsh includono script contrib:

# bash
source /usr/share/git/completion/git-prompt.sh
PS1='\w$(__git_ps1 " (%s)")\$ '

# zsh con oh-my-zsh: abilita il plugin git in ~/.zshrc

Ora il branch corrente e lo stato sporco sono visibili in ogni momento.

Tab completion

Git include git-completion.bash; la maggior parte dei gestori di pacchetti lo installa automaticamente. Tab-completa comandi, branch, remote e ref:

git che<TAB>
git switch fea<TAB>

Alias che ripagano

git config --global alias.s "status -sb"
git config --global alias.lg "log --oneline --graph --decorate --all"
git config --global alias.co switch
git config --global alias.last "log -1 HEAD --stat"
git config --global alias.unstage "restore --staged"

Status più corto

git status -sb

La forma -sb è a due colonne e include info di tracking del branch; perfetto per controlli rapidi.

Diff migliori

git diff --word-diff
git diff --color-words
git config --global diff.colorMoved zebra

colorMoved=zebra evidenzia blocchi di codice spostati in modo diverso da quelli aggiunti/rimossi, rendendo i refactor più facili da rivedere.

Ambiente utile

  • Imposta GIT_PAGER=less -FRX per un paging sensato.
  • Imposta EDITOR a qualcosa da cui sai uscire.
  • Usa un credential helper: git config --global credential.helper cache su Linux, osxkeychain su macOS, manager su Windows.

Default sicuri

git config --global pull.ff only
git config --global push.autoSetupRemote true
git config --global fetch.prune true
git config --global rerere.enabled true

rerere ("reuse recorded resolution") ricorda come hai risolto un conflitto e lo riapplica la volta successiva.

Leggere la storia dei commit velocemente

Due trucchi di visualizzazione ripagano quotidianamente:

git log --oneline --graph --all --decorate
git log -p --follow path/to/file
git show HEAD --stat
git diff @{u}                  # vs upstream
git diff @{1.day.ago}          # vs HEAD di un giorno fa

Ogni comando Git che accetta un commit accetta la stessa sintassi di revision: nomi di branch, SHA, HEAD~3, @{upstream}, @{2.hours.ago}, tag^{commit}. Imparala una volta tramite git help gitrevisions e usala ovunque.

Errori comuni

Copia-incollare comandi lunghi da blog post senza capirli; leggi git help <cmd> per qualsiasi flag sconosciuto. Aliasare comandi distruttivi a nomi corti (r = reset --hard) e attivarli per sbaglio; riserva alias corti per operazioni sicure. Ignorare la tab completion della shell e digitare nomi di branch a mano, con tutti i typo che ne conseguono. Infine, non incollare mai output della shell in un messaggio di commit aspettandosi che venga renderizzato come codice; usa un blocco di codice nel tuo editor o committa un file. Le piccole abitudini si compongono; investi un pomeriggio configurando la tua shell e raccogli anni di benefici.