ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

模糊搜索分支太香了:keifu分支搜索与切换技巧清单

模糊搜索分支太香了:keifu分支搜索与切换技巧清单

【免费下载链接】keifu

Git genealogy, untangled. A TUI for navigating commit graphs with color and clarity.

项目地址:https://gitcode.com/gh_mirrors/ke/keifu
点击查看免费下载

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 还帮你"切过去":

  1. 按/输入分支名片段,用↑/↓选中目标,第一次Enter:光标跳到图谱中该分支所在的提交
  2. 在图谱上第二次Enter:直接 checkout 该分支(见 src/git/operations.rs 中的checkout_branch)

切换到远程分支origin/xxx时更省心:keifu 会自动创建或更新同名本地分支并设置上游;若本地分支已存在但指向不同提交,会强制更新到与远程一致——等价于git checkout -B local_name origin/xxx。

5个进阶切换技巧清单

除了搜索,图谱导航也藏着不少效率利器:

  1. ]/[:在"带分支标签的提交"之间跳跃,快速浏览各分支头部位置
  2. @:一键回到 HEAD(当前分支)
  3. h/l(或←/→):同一提交上存在多个分支标签时,左右切换标签选择
  4. Y:把当前分支名复制到剪贴板(OSC 52),方便在其他窗口引用
  5. 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.

项目地址:https://gitcode.com/gh_mirrors/ke/keifu
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进