gitlogue
一款用 Rust 编写的终端 Git 提交回放工具,把提交历史变成带打字动画、语法高亮和文件树切换的电影式演示,支持屏幕保护模式与多种主题。
爱鲜报评分
0.0
0 人评分
5.2k
星数
否
中文
Rust
主语言
是
活跃
21
贡献者
人工分析
EDITORIAL推荐理由
它把枯燥的 Git 历史变成可视化动画,既有实用价值也有展示效果,适合演示、教学和终端美化。Rust 实现性能好、依赖轻,支持 32 种语言的 Tree-sitter 高亮和 9 套内置主题,安装方式覆盖 Homebrew、Cargo、Nix 等主流渠道。项目已有 5000+ Star,社区活跃度不错。
适用场景
- 终端屏幕保护/桌面美化
- 技术分享与演示中回放真实提交历史
- 教学场景展示代码演进过程
- 录制 Demo 视频或 asciinema 素材
- 会议中营造忙碌氛围
优点
- 动画效果逼真,包含打字、光标移动、删除与文件操作
- Tree-sitter 语法高亮覆盖 32 种语言
- 支持提交范围、作者、日期过滤及循环/监听模式
- 主题系统完善,可自定义配置
- Rust 编写,速度快、体积轻
缺点
- 并非真正屏幕保护程序,无电源管理与息屏功能
- OLED 屏幕长时间显示静态元素有烧屏风险
- 仅面向终端环境,需要一定终端使用基础
- 中文文档与社区支持有限
上手难度
入门
gitlogue 是什么
gitlogue 是一款运行在终端里的 Git 提交回放工具,用电影化的动画方式重现你的提交历史。它会逐字「打字」展示代码变更,配合语法高亮、光标移动、删除操作和文件树切换,让代码演进过程变成一段可观看的故事。
项目使用 Rust 编写,基于 ratatui 构建 TUI 界面,并通过 Tree-sitter 实现多语言语法高亮。
主要特性
- 提交动画回放:模拟真实打字、光标移动、删除与文件操作
- 工作区差异视图:提交前可视化已暂存/未暂存的改动
- 语法高亮:基于 Tree-sitter,支持 32 种语言
- 项目文件树:展示目录结构及变更统计
- 屏幕保护模式:随机循环播放提交历史
- 主题系统:9 套内置主题,支持完全自定义
- 高性能:Rust 实现,启动快、资源占用低
快速上手
安装后直接运行即可进入电影式回放:
gitlogue
常用玩法示例:
# 查看指定提交
gitlogue --commit abc123
# 回放一段提交范围
gitlogue --commit HEAD~5..HEAD
# 按时间正序回放
gitlogue --order asc
# 循环播放某个提交
gitlogue --commit abc123 --loop
# 监听仓库,新提交产生时自动回放
gitlogue --watch
# 查看已暂存/未暂存的改动
gitlogue diff
gitlogue diff --unstaged
还支持按作者、日期过滤提交,调整打字速度,按文件类型设置不同速度,以及忽略特定文件模式:
gitlogue --author "john" --after "2024-01-01"
gitlogue --speed 20
gitlogue --speed-rule "*.java:50" --ignore "*.ipynb"
交互与配置
回放过程中可用 Space 播放/暂停,h/l 逐行前后移动,p/n 切换提交,Esc 打开菜单,q 退出。
默认配置位于 ~/.config/gitlogue/config.toml,可设置默认主题、打字速度和背景偏好。主题可通过 gitlogue theme list 查看、gitlogue theme set 设置。
注意事项
- 它不是真正的屏幕保护程序,不包含电源管理或息屏功能,只是视觉展示工具。
- 在 OLED 屏幕上长时间显示静态元素(如编辑器背景、边框)可能造成烧屏,LCD 屏幕一般无此问题。
适用人群
适合喜欢终端美化、需要做技术演示或教学、以及想用新颖方式回顾项目历史的开发者。
评论
- 暂无评论,来写第一条吧。