我的大部分 git 工作都是在终端中完成的,但我经常发现自己在某些用例中使用 git GUI,例如:索引、提交、差异、存储、责备和日志。
不幸的是,流行的 git GUI 在巨大的存储库上都会失败,或者变得无响应且无法使用。
GitUI 为您提供 git GUI 的用户体验和舒适度,但就在您的终端中,同时具有便携、快速、免费和开源的特点。
在 RustBerlin 聚会演示(幻灯片)中,我通过解析整个 Linux git 存储库(包含超过 900k 的提交)来比较lazygit
、 tig
和gitui
:
时间 | 内存(GB) | 二进制 (MB) | 冻结 | 崩溃 | |
---|---|---|---|---|---|
gitui | 24秒✅ | 0.17 ✅ | 10 | 没有✅ | 没有✅ |
lazygit | 57秒 | 2.6 | 25 | 是的 | 有时 |
tig | 4米20秒 | 1.3 | 0.6 ✅ | 有时 | 没有✅ |
这些是调用1.0
之前的高级目标:
目前,该工具并不能完全替代git shell ,但是这两个工具可以很好地协同工作。
gitui
的优先事项是在git shell上完成时让我生气的功能,例如隐藏、暂存线或块。最终,我将能够致力于使gitui
成为一站式解决方案 - 但为此我需要帮助 - 目前这只是一个业余项目。
欢迎大家的支持!还有赞助商! ❤️
GitUI 处于测试阶段,可能包含错误和缺失的功能。然而,对于个人使用来说,它相当稳定,并且在自身开发的同时使用。
pacman -S gitui
sudo dnf install gitui
可用于 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
尼克斯包装公司
nix-env -iA nixpkgs.gitui
尼克斯操作系统
nix-env -iA nixos.gitui
pkg install gitui
conda install -c conda-forge gitui
可供下载版本
二进制文件可用于:
所有内容都包含一个二进制文件
参见 NIGHTLIES.md
支持的最低rust
/ cargo
版本: 1.70
构建 openssl 依赖项(请参阅https://docs.rs/openssl/latest/openssl/)
要运行完整的测试套件,需要 python (并且它必须可以作为python
调用)
开始使用gitui
最简单方法是使用cargo
构建并使用cargo install gitui --locked
安装它。如果您不熟悉 Rust 和 Cargo:Rust 入门
启用libgit2
跟踪
如果libgit2
使用-DENABLE_TRACE=ON
构建,则可以工作
该功能默认启用,要禁用: cargo install --no-default-features
请参阅常见问题解答页面
要在启用日志记录的情况下运行,请运行gitui -l
。
这将记录到:
$HOME/Library/Caches/gitui/gitui.log
XDG
: $XDG_CACHE_HOME/gitui/gitui.log
$HOME/.cache/gitui/gitui.log
%LOCALAPPDATA%/gitui/gitui.log
gitui
应该自动适用于浅色和深色终端主题。
但是,您可以根据自己的喜好自定义所有内容:请参阅主题。
键绑定可以自定义:请参阅键配置了解如何将它们设置为类似vim
的绑定。
请参阅 CONTRIBUTING.md。
感谢所有帮助 GitUI 变得令人惊叹的贡献者! ❤️
想成为共同维护者吗?我们正在找你!