Questo è molto più semplice nelle versioni più recenti di tmux:
set -g status-right '#(cd #{pane_current_path}; git rev-parse --abbrev-ref HEAD)'
Ho sviluppato uno script Bash per farlo:tmux-git.
tmux-git mostra il ramo Git della directory di lavoro corrente e controlla anche le modifiche non salvate e nascoste.
Sviluppo una piattaforma e una soluzione indipendente dalla shell per mostrare le informazioni sull'albero di lavoro di Git nella barra di stato di Git:gitmux.
Ecco lo screencast sulla pagina del progettoREADME
:
Oltre a mostrare il ramo e il telecomando, mostra ulteriori informazioni sullo stato dell'albero di lavoro di Git :
- numero di commit avanti / dietro ramo a monte, divergenza di ramo
- numero di modifiche file, messa in scena , modificato , conflitti e *nasconde** gli elementi
- colori
Come funziona
Aggiungendo set -g status-right '#(gitmux #{pane_current_path})'
al tuo .tmux.conf
, gitmux
viene chiamato ogni volta che la directory di lavoro viene aggiornata o viene immesso un comando in un terminale, gitmux
stampa una stringa in formato tmux di git status, che viene mostrata nella barra di stato di tmux. Oppure, non viene stampato nulla nel caso in cui la directory di lavoro non sia gestita da Git.