
Nello scorso episodio di OpenDev Explorer vi ho parlato di SourceGit, un tool che tramite GUI permette la gestione dei repository git, oggi invece sono qua per parlarvi di un tool che rientra sempre nell’ambito della gestione dei repository git ma che é un compromesso tra la linea di comando e le GUI di altri tool come il giá citato SourceGit, ovvero LazyGit.
Benvenuti a OpenDev Explorer, la mia rubrica dedicata all’esplorazione del mondo Open Source che strizza un occhio alla developer experience. Io sono Riccardo (aka TheZal) e oggi vi parleró proprio di LazyGit, un tool che permette di effettuare operazioni su git complesse direttamente da terminale senza doversi ricordare i comandi a memoria.
Panoramica generale

LazyGit è un’interfaccia utente semplice e potente per Git, progettata per migliorare la produttività degli sviluppatori.
Con LazyGit, è possibile eseguire operazioni comuni di Git come commit, push, pull e merge con pochi comandi intuitivi e questo strumento è particolarmente utile per chi preferisce lavorare da terminale ma desidera un’interfaccia più user-friendly rispetto ai comandi Git tradizionali.
LazyGit offre anche funzionalità avanzate come la gestione dei conflitti di merge e la visualizzazione dei log di commit in modo chiaro e organizzato. È un progetto open-source, continuamente migliorato dalla comunità, che mira a semplificare il flusso di lavoro con Git.
Manuale di istruzioni
Installazione
Per installare LazyGit, segui questi passaggi:
Windows: basta scaricare l’installer dalla pagine di rilascio ufficiale ed eseguire il file .exe
MacOs: é possibile l’installazione usando HomeBrew tramite il comando:
brew install lazygit
Linux: é possibile installare LazyGit sulle diverse distro. Ad esempio, su Ubuntu:
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit -D -t /usr/local/bin/
Code language: JavaScript (javascript)
Utilizzo

Una volta installato LazyGit, puoi iniziare a utilizzarlo per gestire i tuoi repository Git, per avviarlo basterá aprire il terminale e digitare lazygit
. Nel terminale ci ritroveremo davanti l’interfaccia di lazygit divisa in diverse sezioni:
- Files: Mostra i file modificati nel repository
- Branches: Elenca i rami del repository
- Commits: Visualizza la cronologia dei commit
- Stash: Mostra gli stashes salvati
Comandi base
- Stage/Unstage file: Per aggiungere un file all’area di staging, selezionalo nella sezione “Files” e premi
s
. Per rimuoverlo dall’area di staging, premi di nuovos
- Commit: Per effettuare un commit, premi
c
e inserisci il messaggio di commit. PremiEnte
r per confermare - Push: Per inviare i tuoi commit al repository remoto, premi
P
- Pull: Per aggiornare il tuo repository locale con le modifiche dal repository remoto, premi
p
- Merge: Per unire un ramo nel tuo ramo corrente, vai alla sezione “Branches”, seleziona il ramo che desideri unire e premi
m
- Rebase: Per eseguire un rebase, seleziona il commit di base nella sezione “Commits” e premi
r
Configurazione

LazyGit offre diverse opzioni di configurazione che puoi personalizzare nel file di configurazione .lazygit/config.yml
. Puoi modificare le scorciatoie da tastiera, i colori dell’interfaccia e altre impostazioni per adattare LazyGit alle tue preferenze.
Con questi comandi base, dovresti essere in grado di gestire la maggior parte delle operazioni quotidiane con Git utilizzando LazyGit. Per ulteriori informazioni e comandi avanzati, consulta la documentazione ufficiale di LazyGit.
La developer experience

La developer experience con LazyGit è notevolmente migliorata grazie alla sua interfaccia intuitiva e alle funzionalità avanzate. Gli sviluppatori possono eseguire operazioni Git comuni con pochi comandi, risparmiando tempo e riducendo la complessità.
La gestione dei conflitti di merge è semplificata, permettendo di risolvere rapidamente eventuali problemi. La visualizzazione chiara dei log di commit e la possibilità di navigare facilmente tra file, rami e stashes rendono il lavoro quotidiano più efficiente.
Inoltre, la personalizzazione delle scorciatoie da tastiera e delle impostazioni dell’interfaccia consente agli sviluppatori di adattare LazyGit alle proprie esigenze, migliorando ulteriormente la produttività.
L’extra mile
L’extra mile di LazyGit é dato dal fatto che tramite il file di configurazione é possibile personalizzare il tool rendendolo proprio e adatto a tutte le situazioni. Inoltre, sempre tramite la sua personalizzazione, si riesce ad ottenere un tool adatto sia ai neofiti del source versioning che chi é un masticatore di git con un diverso expertise.
Il confronto con lo status quo
LazyGit si distingue dai comandi Git tradizionali per la sua interfaccia utente intuitiva e le funzionalità avanzate. Rispetto all’utilizzo di Git da terminale, LazyGit semplifica le operazioni comuni e offre una visualizzazione chiara delle modifiche e dei commit.
La gestione dei conflitti di merge è più semplice e la navigazione tra file, rami e stashes è più efficiente. Inoltre, LazyGit consente di personalizzare le impostazioni e le scorciatoie da tastiera per adattare l’interfaccia alle preferenze dell’utente. Complessivamente, LazyGit migliora la produttività degli sviluppatori e semplifica il flusso di lavoro con Git.
E voi proverete questo tool ibrido tra GUI e terminale?