GitUI - Interface utilisateur du terminal pour Git
gitui est une interface utilisateur de terminal rapide et pilotée au clavier pour Git, écrite en Rust. Il vous donne la mise en scène interactive (jusqu”aux hunks et lignes individuels), les commits, le branchement, le rebase, le stashing et la navigation des journaux dans une TUI réactive qui reste rapide même sur les grands référentiels — utilisant une fraction des ressources des GUI Git basées sur Electron. C”est un excellent compromis entre le brut git et un client graphique complet.
Installation
| Plateforme | Commande |
|---|
| Cargo (toutes les plateformes) | cargo install gitui |
| macOS (Homebrew) | brew install gitui |
| Arch Linux | sudo pacman -S gitui |
| Fedora | sudo dnf install gitui |
| Windows (Scoop) | scoop install gitui |
| Nix | nix-env -iA nixpkgs.gitui |
Lancement
| Commande | Description |
|---|
gitui | Ouvrir dans le référentiel actuel |
gitui -d /path/to/repo | Ouvrir un référentiel spécifique |
gitui -w /path/to/worktree | Définir le répertoire de travail |
gitui --help | Liste complète des options |
gitui --version | Version |
Navigation mondiale
| Touche | Action |
|---|
1–5 | Basculer les onglets (Status, Log, Files, Stashing, …) |
Tab | Parcourir les volets |
← / → ou h / l | Déplacer entre les volets |
↑ / ↓ ou j / k | Déplacer la sélection |
? | Aide contextuelle (affiche toutes les touches pour la vue actuelle) |
Esc | Retour / annuler |
q | Quitter |
Status et mise en scène
| Touche | Action |
|---|
Space | Mettre en scène / enlever la mise en scène du fichier sélectionné ou du hunk |
Entrée | Mettre le focus sur le diff pour la sélection |
s | Mettre en scène |
S | Mettre tout en scène |
u | Enlever la mise en scène |
U | Tout enlever de la mise en scène |
D | Réinitialiser (abandonner) les changements à un fichier |
c | Ouvrir la fenêtre contextuelle de commit |
Commit
| Touche | Action |
|---|
c | Valider les changements mis en scène |
Ctrl+d (dans le message de commit) | Ouvrir lӎditeur externe pour le message |
a | Amender le dernier commit |
| Signer-off / vérifier | Configurable via les paramètres git |
Branches
| Touche | Action |
|---|
b | Ouvrir la vue des branches |
c (dans les branches) | Créer une branche |
Entrée | Vérifier la branche sélectionnée |
r | Renommer la branche |
D | Supprimer la branche |
m | Fusionner la branche sélectionnée dans la branche actuelle |
R | Rebaser actuelle sur sélectionnée |
Log, Stash et Remotes
| Touche | Action |
|---|
2 | Ouvrir l”onglet Journaux |
Entrée (sur commit) | Inspecter les détails/diff du commit |
4 | Onglet Stashing |
s | Ranger les changements |
a (dans stash) | Appliquer une réserve |
D (dans stash) | Abandonner une réserve |
f | Récupérer |
p | Pousser |
P | Tirer |
Configuration
| Chemin | But |
|---|
~/.config/gitui/key_bindings.ron | Liaisons de clés personnalisées |
~/.config/gitui/theme.ron | Thème de couleur |
gitui -t mytheme.ron | Lancer avec un thème spécifique |
Flux de travail courants
# Examiner et mettre en scène uniquement les hunks que vous voulez, puis commit
gitui # appuyer sur Space sur les hunks pour mettre en scène, c pour commit
# Branche interactive + rebase sans mémoriser les drapeaux git
gitui # b pour ouvrir les branches, R pour rebaser sur la sélection
# Stash rapide, changer de contexte, restaurer
gitui # 4 (onglet stash), s pour ranger; plus tard a pour appliquer
GitUI vs Autres interfaces Git
| Aspect | GitUI | lazygit | CLI git |
|---|
| Langue | Rust | Go | C |
| Vitesse sur les grands référentiels | Très rapide | Rapide | Rapide |
| Mise en scène hunk/ligne | Oui | Oui | git add -p |
| Courbe d”apprentissage | Faible | Faible | Drapeaux raides |
| Utilisation des ressources | Minimal | Minimal | Minimal |
Ressources