Qu'est-ce que GitUI ?
GitUI est une interface terminal pour git, écrite en Rust. Elle offre les parties d'une interface graphique git qui valent vraiment le détour — indexer des hunks et des lignes, lire des diffs, parcourir et chercher dans le log, remiser, blâmer, gérer les branches et pousser — sans quitter le terminal et sans les blocages que connaissent les GUI populaires sur les gros dépôts.
⚡ Fonctionnalités clés de GitUI
⚡ Rapide sur les dépôts énormes
Le benchmark d'upstream parcourt tout l'historique du noyau Linux en environ 24 secondes avec quelque 170 Mo de mémoire, là où des GUI plus lourdes se figent ou plantent.
✂️ Indexer hunks et lignes
Indexer, désindexer, annuler et réinitialiser des fichiers entiers, des hunks isolés ou des lignes précises — la raison même d'ouvrir une interface git.
📜 Log et diffs
Parcourir et chercher dans le log des commits, inspecter le diff de n'importe lequel et blâmer un fichier ligne à ligne, dans la même interface au clavier.
📦 Remisage
Créer, appliquer, dépiler, supprimer et inspecter les stashes depuis un onglet dédié, plutôt que de retenir quelle sous-commande git stash fait quoi.
🌿 Branches et dépôts distants
Créer, renommer, supprimer et basculer de branche, travailler avec les remotes, pousser ou récupérer sans revenir au shell.
⌨️ Aide contextuelle
? affiche exactement les touches actives dans la vue courante, et key_bindings.ron permet de tout redéfinir — à la vim si c'est votre habitude.
apt upgrade vous maintient à jour.
📦 Installation depuis deb.griffo.io
Étape 1 : ajouter le dépôt
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 Il existe un miroir gratuit pour toujours. deb-free.griffo.io distribue des paquets gratuitement pour toujours — sans compte, sans abonnement, au plus 2 mois derrière l'upstream, correctifs de sécurité immédiats. Il contient aujourd'hui cliamp, Ghostty, lazydocker, Oh My Posh et Zed ; GitUI n'en fait pas partie, le dépôt ci-dessus reste donc le seul moyen de l'installer — demandez-le et il pourra y être ajouté.
🧩 À propos de l'option extrepo. extrepo est l'outil de Debian pour les dépôts externes : il écrit le fichier de sources et installe la clé de signature à votre place, après l'avoir vérifiée face à des métadonnées signées. Ce dépôt y est enregistré sous le nom griffo, et le miroir gratuit à vie sous griffo-free ; sur Debian (bookworm, trixie, forky et sid), les commandes ci-dessus constituent donc toute l'installation.
extrepo ne met en place que le fichier de sources et la clé : les identifiants d'un abonnement vont toujours dans /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu n'est pas couvert, car extrepo ne publie de métadonnées que pour les suites Debian : utilisez-y les commandes avec sudo ou en root.
Étape 2 : installer GitUI
# Installer le dernier GitUI
sudo apt install gitui
# Vérifier l'installation
gitui --version# Installer le dernier GitUI
apt install gitui
# Vérifier l'installation
gitui --versionÉtape 3 : premier lancement et configuration
# Ouvrez-le dans n'importe quel dépôt git
cd /path/to/your/repo
gitui
# Appuyez sur ? à tout moment pour les touches de la vue courante
# Thème et raccourcis vivent dans le répertoire de configuration
ls ~/.config/gitui/
# Par exemple, un mappage à la vim
$EDITOR ~/.config/gitui/key_bindings.ron🎯 Exemples d'utilisation de base
Ouvrir des dépôts :
# Le dépôt du répertoire courant
gitui
# Un dépôt précis, sans s'y déplacer
gitui -d ~/src/linux
# Répertoire de travail et répertoire git séparés
gitui -d ~/src/project/.git -w ~/src/project
# Démarrer avec un fichier déjà sélectionné dans l'onglet fichiers
gitui -f src/main.rsApparence et confort :
# Un fichier de thème depuis ~/.config/gitui/
gitui -t mytheme.ron
# Un fichier de raccourcis personnalisé
gitui -k ~/.config/gitui/key_bindings.ron
# Des symboles de touches personnalisés, pour un clavier qui les dessine autrement
gitui -s ~/.config/gitui/key_symbols.ron
# Utiliser le watcher du système de fichiers plutôt que des rafraîchissements périodiques
gitui --watcherQuand il faut diagnostiquer :
# Rassembler les informations d'environnement pour un rapport de bogue
gitui --bugreport
# Écrire un journal en reproduisant un problème
gitui --logging --logfile /tmp/gitui.log
# La CLI git reste là pour ce que GitUI ne couvre pas
git rebase -i origin/main
# Les push HTTPS demandent un credential helper configuré explicitement
git config --global credential.helper store🔧 Intégrations avec d'autres outils
GitUI s'appuie sur votre installation git existante :
- Vos dépôts : un dépôt git tout à fait ordinaire, lu et écrit par un backend git en Rust — rien n'y est spécifique à GitUI
- Hooks :
pre-commit,commit-msg,post-commitetprepare-commit-msgs'exécutent comme en ligne de commande - Signature GPG : les commits signés fonctionnent, avec les réserves qu'upstream documente dans son gestionnaire de tickets
- Thèmes et raccourcis :
theme.ron,key_bindings.ronetkey_symbols.rondans~/.config/gitui/ - En SSH : assez rapide sur une machine distante pour que remettre un commit au propre sur le serveur cesse d'être une corvée ; la version amd64 n'a besoin d'aucune bibliothèque
🚀 Pourquoi choisir deb.griffo.io ?
- Debian officiel : n'empaquette pas GitUI —
apt install gituiéchoue sur un système standard - cargo install gitui : à jour, mais c'est une longue compilation Rust sur chaque machine, hors d'apt et hors de vos mises à jour
- Archive upstream : le binaire officiel, à retélécharger à la main à chaque version
- deb.griffo.io : dernière version avec mises à jour automatiques
- ✅ Encore avant la 1.0 : GitUI gagne de vraies fonctionnalités dans des versions ordinaires : utiliser la version courante décide si vous avez les sous-modules, la recherche dans le log et le blame, ou non
- ✅ La seule source apt : GitUI n'est ni dans les archives Debian ni dans celles d'Ubuntu ; ce dépôt empaquette la construction officielle upstream
- ✅ Mises à jour automatiques : les paquets sont mis à jour quelques heures après chaque version upstream
- ✅ Empaquetage honnête : le binaire upstream dans
/usr/bin/gitui— upstream ne fournit ni page de manuel ni complétions, le paquet n'en invente donc aucune - ✅ Trois architectures : amd64 (build musl statique), arm64 et armhf, avec les dépendances déclarées là où upstream se lie à la glibc
- ✅ Multi-distribution : fonctionne sur Bookworm, Trixie, Forky et Sid
- ✅ Maintenance simple : des mises à jour avec les commandes apt habituelles
📦 Dépôt de construction du paquet
Les paquets Debian sont construits et maintenus automatiquement dans ce dépôt GitHub :
- 🎛️ gitui-debian - Constructions des dernières versions
🔗 Paquets associés
Également disponibles sur deb.griffo.io :
- lazygit - L'autre interface git en terminal, si vous préférez sa disposition
- Jujutsu - VCS compatible Git avec des rebases de premier ordre
- Forgejo - Forge auto-hébergée où pousser ces branches
- Neovim - Éditeur pour aller où le diff vous envoie