gitui

gitui

终端中的Git图形界面:快速高效的版本控制工具

GitUI是一款运行在终端中的Git图形界面工具,为开发者提供了便捷的版本控制体验。它支持快速的键盘操作和上下文帮助,实现了检查、提交、修改等核心Git功能。GitUI采用异步Git API和响应式UI,即使在大型代码仓库中也能保持流畅运行。作为一个轻量级的开源项目,GitUI为Git工作流程带来了直观的可视化操作。

GitUIGit终端命令行界面版本控制Github开源项目
<h1 align="center"> <img width="300px" src="https://yellow-cdn.veclightyear.com/2b54e442/d4ee6c4a-74d8-4d0f-a7c9-7ccc3451745f.png" />

CI crates MIT UNSAFE TWEET dep_status discord

</h1> <h5 align="center">GitUI为您提供Git GUI的舒适性,但就在您的终端中</h1>

<a name="table-of-contents"></a> 目录

  1. 功能
  2. 动机
  3. 基准测试
  4. 路线图
  5. 限制
  6. 安装
  7. 构建
  8. 常见问题
  9. 诊断
  10. 颜色主题
  11. 键绑定
  12. 赞助
  13. 灵感来源
  14. 贡献
  15. 贡献者

1. <a name="features"></a> 功能 <small><sup>返回顶部 ▲</sup></small>

  • 快速直观的仅键盘控制
  • 基于上下文的帮助(无需记忆大量热键)
  • 检查、提交和修改更改(包括钩子:pre-commitcommit-msgpost-commitprepare-commit-msg
  • 暂存、取消暂存、恢复和重置文件、块和行
  • 暂存(保存、弹出、应用、删除和检查)
  • 推送/从远程获取
  • 分支列表(创建、重命名、删除、检出、远程)
  • 浏览/搜索提交日志,比较已提交的更改
  • 响应式终端UI
  • 异步git API,实现流畅控制
  • 子模块支持
  • gpg提交签名(有一些限制,请参见#97

2. <a name="motivation"></a> 动机 <small><sup>返回顶部 ▲</sup></small>

我大部分git工作都在终端中完成,但经常发现自己在某些用例中使用git GUI,如:索引、提交、差异、暂存、责备和日志。

不幸的是,流行的git GUI在处理大型存储库时都会失败或变得无响应和不可用。

GitUI为您提供了git GUI的用户体验和舒适性,但就在您的终端中,同时保持可移植性、速度、免费和开源。

3. <a name="bench"></a> 基准测试 <small><sup>返回顶部 ▲</sup></small>

RustBerlin聚会演示幻灯片)中,我比较了lazygittiggitui解析整个Linux git存储库(包含超过90万次提交)的性能:

时间内存 (GB)二进制 (MB)冻结崩溃
gitui24秒0.1710
lazygit57秒2.625有时
tig4分20秒1.30.6有时

4. <a name="roadmap"></a> 通往1.0的路线图 <small><sup>返回顶部 ▲</sup></small>

在宣布1.0版本之前,这些是高级目标:

  • 在日志标签中可视化分支结构(#81
  • 交互式变基(#32

5. <a name="limitations"></a> 已知限制 <small><sup>返回顶部 ▲</sup></small>

  • 不支持稀疏存储库(参见#1226
  • 不支持git-lfs(参见#1089
  • https的credential.helper需要显式配置(参见#800

目前,这个工具并不能完全取代_git shell_,但两个工具可以很好地配合使用。

gitui的优先事项是那些在_git shell_中让我感到烦恼的功能,比如暂存、暂存行或块。最终,我将能够致力于使gitui成为一站式解决方案 - 但为此我需要帮助 - 这目前只是一个业余时间项目。

欢迎所有支持!赞助也欢迎!❤️

6. <a name="installation"></a> 安装 <small><sup>返回顶部 ▲</sup></small>

GitUI处于测试阶段,可能包含错误和缺失功能。然而,对于个人使用来说,它相当稳定,并且在开发自身时也在使用。 <a href="https://repology.org/project/gitui/versions"> <img src="https://yellow-cdn.veclightyear.com/2b54e442/de114783-bbc6-4195-9526-cf7eafbc5dbd.svg" alt="打包状态" align="right"> </a>

各种包管理器

<details> <summary>安装说明</summary>
Arch Linux
pacman -S gitui
Fedora
sudo dnf install gitui
Gentoo

可在 dm9pZCAq 覆盖层 中获得

sudo eselect repository enable dm9pZCAq sudo emerge --sync dm9pZCAq sudo emerge dev-vcs/gitui::dm9pZCAq
openSUSE
sudo zypper install gitui
Homebrew (macOS)
brew install gitui
MacPorts (macOS)
port install gitui
Winget (Windows)
winget install gitui
Scoop (Windows)
scoop install gitui
Chocolatey (Windows)
choco install gitui
Nix (Nix/NixOS)

Nixpkg

nix-env -iA nixpkgs.gitui

NixOS

nix-env -iA nixos.gitui
Termux (Android)
pkg install gitui
Anaconda
conda install -c conda-forge gitui
</details>

发布二进制文件

可在releases中下载

可用的二进制文件:

Linux

  • gitui-linux-x86_64.tar.gz (linux musl 静态链接)
  • gitui-linux-aarch64.tar.gz (64位arm上的linux)
  • gitui-linux-arm.tar.gz
  • gitui-linux-armv7.tar.gz

所有文件都包含一个单一的二进制文件

macOS

  • gitui-mac.tar.gz (arm64)
  • gitui-mac-x86.tar.gz (intel x86)

Windows

  • gitui-win.tar.gz (单个64位二进制文件)
  • gitui-win.msi (64位安装程序包)

每日构建

参见 NIGHTLIES.md

7. <a name="build"></a> 构建 <small><sup>顶部 ▲</sup></small>

要求

Cargo 安装

开始使用 gitui 最简单的方法是让 cargo 通过 cargo install gitui --locked 构建并安装它。如果你不熟悉 rust 和 cargo:Rust 入门

Cargo 特性

trace-libgit

启用 libgit2 追踪

libgit2-DENABLE_TRACE=ON 构建时有效

此特性默认启用,要禁用:cargo install --no-default-features

8. <a name="faqs"></a> 常见问题 <small><sup>顶部 ▲</sup></small>

参见 常见问题页面

9. <a name="diagnostics"></a> 诊断 <small><sup>顶部 ▲</sup></small>

要启用日志记录运行,请执行 gitui -l

这将记录日志到:

  • macOS: $HOME/Library/Caches/gitui/gitui.log
  • 使用 XDG 的 Linux: $XDG_CACHE_HOME/gitui/gitui.log
  • Linux: $HOME/.cache/gitui/gitui.log
  • Windows: %LOCALAPPDATA%/gitui/gitui.log

10. <a name="theme"></a> 颜色主题 <small><sup>顶部 ▲</sup></small>

gitui 应该能自动适应浅色和深色终端主题。

然而,你可以根据自己的喜好自定义所有内容:参见 主题

11. <a name="bindings"></a> 按键绑定 <small><sup>顶部 ▲</sup></small>

可以自定义按键绑定:参见 按键配置 了解如何设置类 vim 的绑定。

12. <a name="sponsoring"></a> 赞助 <small><sup>顶部 ▲</sup></small>

github

13. <a name="inspiration"></a> 灵感来源 <small><sup>顶部 ▲</sup></small>

14. <a name="contributing"></a> 贡献 <small><sup>顶部 ▲</sup></small>

参见 CONTRIBUTING.md

15. <a name="contributors"></a> 贡献者 <small><sup>返回顶部 ▲</sup></small>

感谢所有帮助使GitUI变得出色的贡献者!❤️

想成为共同维护者吗?我们正在寻找

<a href="https://github.com/extrawurst/gitui/graphs/contributors"> <img src="https://contrib.rocks/image?repo=extrawurst/gitui" /> </a>

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多