Je fais la plupart de mon travail avec Git dans un terminal, mais je me retrouve fréquemment à utiliser des interfaces graphiques Git pour certains cas d'utilisation tels que : index, commit, diff, stash, blâme et journal.
Malheureusement, les interfaces graphiques Git populaires échouent toutes sur des référentiels géants ou deviennent insensibles et inutilisables.
GitUI vous offre l'expérience utilisateur et le confort d'une interface graphique Git mais directement dans votre terminal tout en étant portable, rapide, gratuit et open source.
Pour une présentation Meetup RustBerlin (diapositives), j'ai comparé lazygit
, tig
et gitui
en analysant l'intégralité du référentiel Linux git (qui contient plus de 900 000 commits) :
Temps | Mémoire (Go) | Binaire (Mo) | Gèle | Crashes | |
---|---|---|---|---|---|
gitui | 24 s ✅ | 0,17 ✅ | 10 | Non ✅ | Non ✅ |
lazygit | 57 s | 2.6 | 25 | Oui | Parfois |
tig | 4 min 20 s | 1.3 | 0,6 ✅ | Parfois | Non ✅ |
Voici les objectifs de haut niveau avant d'annoncer 1.0
:
Actuellement, cet outil ne remplace pas entièrement le shell git , mais les deux outils fonctionnent bien en tandem.
Les priorités de gitui
portent sur les fonctionnalités qui me rendent fou lorsqu'elles sont effectuées sur le shell git , comme le stockage, les lignes de préparation ou les morceaux. À terme, je pourrai travailler à faire gitui
une solution unique - mais pour cela j'ai besoin d'aide - ce n'est qu'un projet de temps libre pour le moment.
Tout soutien est le bienvenu ! Les sponsors aussi ! ❤️
GitUI est en version bêta et peut contenir des bugs et des fonctionnalités manquantes. Cependant, pour un usage personnel, il est raisonnablement stable et est utilisé tout en se développant.
pacman -S gitui
sudo dnf install gitui
Disponible en superposition dm9pZCAq
sudo eselect repository enable dm9pZCAq
sudo emerge --sync dm9pZCAq
sudo emerge dev-vcs/gitui::dm9pZCAq
sudo zypper install gitui
brew install gitui
port install gitui
winget install gitui
scoop install gitui
choco install gitui
Nixpkg
nix-env -iA nixpkgs.gitui
NixOS
nix-env -iA nixos.gitui
pkg install gitui
conda install -c conda-forge gitui
Disponible en téléchargement dans les versions
Binaires disponibles pour :
Tous contiennent un seul fichier binaire
voir NIGHTLIES.md
Version rust
/ cargo
minimale prise en charge : 1.70
Pour créer une dépendance openssl (voir https://docs.rs/openssl/latest/openssl/)
Pour exécuter la suite de tests complète, Python est requis (et il doit être invocable en tant que python
)
Le moyen le plus simple de commencer à jouer avec gitui
est de créer cargo
et de l'installer avec cargo install gitui --locked
. Si vous n'êtes pas familier avec la rouille et le fret : Premiers pas avec Rust
activer le traçage libgit2
fonctionne si libgit2
est construit avec -DENABLE_TRACE=ON
cette fonctionnalité activée par défaut, à désactiver : cargo install --no-default-features
voir la page FAQ
Pour exécuter avec la journalisation activée, exécutez gitui -l
.
Cela se connectera à :
$HOME/Library/Caches/gitui/gitui.log
XDG
: $XDG_CACHE_HOME/gitui/gitui.log
$HOME/.cache/gitui/gitui.log
%LOCALAPPDATA%/gitui/gitui.log
gitui
devrait automatiquement fonctionner sur les thèmes de terminaux clairs et sombres.
Cependant, vous pouvez tout personnaliser à votre guise : Voir Thèmes.
Les raccourcis clavier peuvent être personnalisés : voir Key Config pour savoir comment les définir sur des liaisons de type vim
.
Voir CONTRIBUTION.md.
Merci à tous les contributeurs qui contribuent à rendre GitUI incroyable ! ❤️
Voulez-vous devenir co-responsable ? Nous vous cherchons !