Ich erledige den Großteil meiner Git-Arbeit in einem Terminal, aber ich habe häufig Git-GUIs für einige Anwendungsfälle wie Index, Commit, Diff, Stash, Blame und Log verwendet.
Leider versagen beliebte Git-GUIs alle in riesigen Repositories oder reagieren nicht mehr und sind unbrauchbar.
GitUI bietet Ihnen die Benutzererfahrung und den Komfort einer Git-GUI, aber direkt in Ihrem Terminal und ist gleichzeitig portabel, schnell, kostenlos und Open Source.
Für eine RustBerlin-Meetup-Präsentation (Folien) habe ich lazygit
, tig
und gitui
verglichen, indem ich das gesamte Linux-Git-Repository analysiert habe (das über 900.000 Commits enthält):
Zeit | Speicher (GB) | Binär (MB) | Friert ein | Abstürze | |
---|---|---|---|---|---|
gitui | 24 s ✅ | 0,17 ✅ | 10 | Nein ✅ | Nein ✅ |
lazygit | 57 s | 2.6 | 25 | Ja | Manchmal |
tig | 4 m 20 s | 1.3 | 0,6 ✅ | Manchmal | Nein ✅ |
Dies sind die übergeordneten Ziele vor der Ausrufung von 1.0
:
Derzeit ersetzt dieses Tool die Git-Shell nicht vollständig, beide Tools funktionieren jedoch gut zusammen.
Die Prioritäten für gitui
liegen auf Funktionen, die mich wütend machen, wenn ich mit der Git-Shell fertig bin, wie Stashing, Staging Lines oder Hunks. Irgendwann werde ich daran arbeiten können, gitui
zu einer Komplettlösung zu machen – aber dafür brauche ich Hilfe – das ist vorerst nur ein Freizeitprojekt.
Jede Unterstützung ist willkommen! Auch Sponsoren! ❤️
GitUI befindet sich in der Betaphase und kann Fehler und fehlende Funktionen enthalten. Für den persönlichen Gebrauch ist es jedoch einigermaßen stabil und wird während der Entwicklung verwendet.
pacman -S gitui
sudo dnf install gitui
Verfügbar im dm9pZCAq-Overlay
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
Verfügbar zum Download in Veröffentlichungen
Verfügbare Binärdateien für:
Alle enthalten eine einzige Binärdatei
siehe NIGHTLIES.md
Mindestens unterstützte rust
/ cargo
: 1.70
So erstellen Sie eine OpenSSL-Abhängigkeit (siehe https://docs.rs/openssl/latest/openssl/)
Um die komplette Testsuite auszuführen, ist Python erforderlich (und es muss als python
aufrufbar sein)
Der einfachste Weg, mit gitui
herumzuspielen, besteht darin, cargo
mit cargo install gitui --locked
erstellen und installieren zu lassen. Wenn Sie mit Rost und Ladung nicht vertraut sind: Erste Schritte mit Rust
Aktivieren Sie libgit2
Ablaufverfolgung
Funktioniert, wenn libgit2
mit -DENABLE_TRACE=ON
erstellt wurde
Diese Funktion ist standardmäßig aktiviert, zum Deaktivieren: cargo install --no-default-features
siehe FAQ-Seite
Um es mit aktivierter Protokollierung auszuführen, führen Sie gitui -l
aus.
Dies wird protokolliert unter:
$HOME/Library/Caches/gitui/gitui.log
XDG
: $XDG_CACHE_HOME/gitui/gitui.log
$HOME/.cache/gitui/gitui.log
%LOCALAPPDATA%/gitui/gitui.log
gitui
sollte automatisch sowohl bei hellen als auch bei dunklen Terminalthemen funktionieren.
Sie können jedoch alles nach Ihren Wünschen anpassen: Siehe Themen.
Die Tastenbelegungen können angepasst werden: Unter Key Config erfahren Sie, wie Sie sie auf vim
-ähnliche Bindungen einstellen.
Siehe CONTRIBUTING.md.
Vielen Dank an alle Mitwirkenden, die dazu beitragen, GitUI großartig zu machen! ❤️
Möchten Sie Mitbetreuer werden? Wir suchen Dich!