用 Rust 编写的 Git 极速终端 UI

时间:2021-12-18 02:42:02

用 Rust 编写的 Git 极速终端 UI

GitUI 是一个用 Rust 编写的用于 git 的终端 UI,我们的目标是在不离开你心爱的命令行终端窗口的情况下,以快速、只需键盘和跨平台的方式简化常见的 git 任务。

用 Rust 编写的 Git 极速终端 UI

我的大部分 git 工作都是在终端进行的,但我也经常发现自己在一些场景下会使用 git GUI,比如:index、commit、diff、stash、blame 和日志等操作。

不过一些流行的 git GUI 应用在大型仓库中就会出现各种问题,为解决这些问题,最终我决定用 Rust 开发了 GitUI。

GitUI 具有如下一些特性:

  • 快速和直观的键盘控制
  • 基于上下文的帮助(不需要记住大量的快捷键)
  • 检查、提交和修改变化(包括hooks:commit-msg/post-commit)
  • 暂存、取消暂存、恢复和重置文件、代码行
  • 存储(保存、Pop、应用、删除和检查)
  • Push/Fetch/从远程
  • 分支列表(创建、重命名、删除、checkout、远程)
  • 浏览提交日志,对已提交的修改进行比较
  • 可扩展的终端布局
  • 用于控制流的异步 git API

解析整个 Linux 的 git 仓库(包含超过90万个提交)比较了 lazygit、tig 和 gitui 的性能,得到了如下所示的结果:

用 Rust 编写的 Git 极速终端 UI

不过目前而言,这个产品还处于 alpha 阶段。当然对于个人用户来说,它是相当稳定的,而且我在开发 GitUI 本身的时候也在用他自己。要安装的话是非常简单的。

Homebrew (macOS)

  1. brew install gitui 

Scoop (Windows)

  1. scoop install gitui 

Chocolatey (Windows)

  1. choco install gitui 

也可以直接在 Releases 页面下载二进制文件进行安装:https://github.com/extrawurst/gitui/releases

此外我们也可以自己使用源码进行构建,需要最新的 rust 和 cargo,并且安装配置好,开始使用 gitui 的最简单方法就是让 cargo 构建并使用 cargo install gitui 来安装它。

用 Rust 编写的 Git 极速终端 UI

gitui 还可以自动在浅色和深色终端主题上工作。当然你也可以根据自己的喜好进行定制。可以查看主题介绍:https://github.com/extrawurst/gitui/blob/master/THEMES.md

仓库地址:https://github.com/extrawurst/gitui

原文链接:https://mp.weixin.qq.com/s/x6CB_y1YOvmKD91Bt8TqqQ