【免费下载链接】keifu
Git genealogy, untangled. A TUI for navigating commit graphs with color and clarity.
keifu是一款面向终端的 Git TUI(文本界面)工具,能彩色绘制提交图谱,并支持模糊搜索分支、查看差异、暂存、提交与推送。分支一多就迷路?本文整理 keifu 中分支搜索与切换的实用技巧清单,让你只按一个/键就能快速定位目标分支并完成 checkout。
keifu 是什么:30秒看懂
keifu(系谱,/keːɸɯ/)的核心定位就一句话:See your branches. Follow your changes. Stay in the terminal.
- 彩色提交图谱:本地分支、远程分支、tag 同屏可见,分叉与合并一目了然
- 键盘 + 鼠标双操作,窄终端也能自动堆叠面板
- 无需图形协议,普通终端即可运行
安装(任选其一):
cargo install keifu # 或 brew install trasta298/tap/keifu在项目目录里直接运行keifu即可。
一键打开分支搜索:按/就够了
在图谱视图下按/,顶部会弹出 "Search branches" 下拉框,此时输入的部分名称会边打字边过滤:
| 按键 | 作用 |
|---|---|
/ | 打开分支模糊搜索 |
↑/Ctrl+k | 选上一个结果 |
↓/Ctrl+j | 选下一个结果 |
Enter | 跳到选中的分支 |
Esc或空输入时Backspace | 取消搜索 |
搜索时的几个体验细节:
- 增量过滤:每敲一个字符立即刷新结果,无需回车确认
- 命中高亮:匹配上的字符会以黄色加粗显示,一眼确认拼对了没
- 最多显示 7 条:超出部分自动滚动,光标始终跟随选中项
- 按相关度排序:得分高的分支排在前面,同分按新到旧排列
下拉框的渲染与高亮逻辑在 src/ui/search_dropdown.rs 中可以找到。
从搜索到切换分支:两次 Enter 完成
很多工具只帮你"找到"分支,keifu 还帮你"切过去":
- 按
/输入分支名片段,用↑/↓选中目标,第一次Enter:光标跳到图谱中该分支所在的提交 - 在图谱上第二次
Enter:直接 checkout 该分支(见 src/git/operations.rs 中的checkout_branch)
切换到远程分支origin/xxx时更省心:keifu 会自动创建或更新同名本地分支并设置上游;若本地分支已存在但指向不同提交,会强制更新到与远程一致——等价于git checkout -B local_name origin/xxx。
5个进阶切换技巧清单
除了搜索,图谱导航也藏着不少效率利器:
]/[:在"带分支标签的提交"之间跳跃,快速浏览各分支头部位置@:一键回到 HEAD(当前分支)h/l(或←/→):同一提交上存在多个分支标签时,左右切换标签选择Y:把当前分支名复制到剪贴板(OSC 52),方便在其他窗口引用o/t:隐藏/显示远程分支和 tag。远程分支太吵时按o清爽一下,注意隐藏后"仅远程可达"的提交会一并从图谱中移除
💡 小技巧:搜索feat就能命中feature/auth、feature/search这类长分支名——模糊匹配是按字符顺序而非连续子串,拼写小错误(如featre)也能命中。
模糊搜索的原理:一句话说清
keifu 使用fuzzy_matcher(SkimMatcherV2 算法)做分支名匹配:为每个分支计算得分,按得分降序排列,同时记录命中字符位置用于界面高亮。核心实现在 src/search.rs,配套单元测试覆盖了精确匹配、模糊匹配、容错拼写与排序等场景,行为可预期。
常见问题 FAQ
搜不到我的分支怎么办?先确认远程分支是否被隐藏了(按o恢复显示);远程分支在图谱中默认可见,但"仅远程可达"的提交受开关影响。
图谱会显示全部提交吗?keifu 加载最多 500 个可见分支上的提交,超大仓库请结合分支搜索与g/G(顶部/底部)配合使用。
搜索会影响当前工作区吗?不会。搜索只是导航行为,checkout 之前你的分支状态保持不变,可以放心按Esc取消。
延伸阅读
- 项目说明:README.md
- 配置指南(自动刷新、远程分支显示等):docs/configuration.md
- 快捷键全景:在 keifu 中按
?打开帮助,或查看 README.md 中的完整键位表
【免费下载链接】keifu
Git genealogy, untangled. A TUI for navigating commit graphs with color and clarity.
相关推荐
SereneDB必会的10个搜索技巧:模糊搜索、高亮、拼写纠错与分面搜索
SereneDB必会的10个搜索技巧:模糊搜索、高亮、拼写纠错与分面搜索 SereneDB 是一款实时搜索分析数据库(The First Real Time S
Python.NET泛型实战:如何在Python中使用Dictionary[String, Int32]等C泛型类型
Python.NET泛型实战:如何在Python中使用Dictionary String, Int32 等C 泛型类型 Python.NET(pythonnet
开发工具告别繁琐搜索:fzf模糊匹配与精确搜索技巧全解析
告别繁琐搜索:fzf模糊匹配与精确搜索技巧全解析 fzf是一款功能强大的命令行模糊查找工具,它能够帮助用户快速定位文件、历史命令、进程等内容,极大提升终端操作效
CLI开发工具
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考