V2EX 07月14日 19:27
[程序员] 开发了一个管理本地电脑里散乱的 git 项目的工具
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了一款名为 Project Man 的 CLI 工具,旨在解决 Git 项目管理混乱的问题。该工具的核心思想是采用固定的域名/group/repo 结构组织仓库,并通过模糊搜索快速跳转到目标项目。Project Man 提供了添加、跳转、同步、列表查看和跨项目搜索等功能,极大地提高了工作效率。该工具使用 Rust 编写,安装便捷,欢迎用户体验和反馈。

✨ 项目组织结构:Project Man 按照固定的域名/group/repo 格式组织 Git 仓库,例如 github.com/rust-lang/rust,使得项目结构清晰,便于管理。

🔎 模糊搜索功能:该工具支持模糊搜索,用户只需输入项目关键字,即可快速跳转到目标项目,无需记忆完整路径,方便快捷。

🔄 批量操作:Project Man 提供批量更新所有项目的同步功能,以及跨项目搜索代码的功能,简化了多项目管理的操作流程。

⚙️ Shell 集成:该工具支持 Shell 集成,配置后可以直接使用 cd 命令跳转到目标项目目录,进一步提升了工作效率。

🚀 技术实现:Project Man 使用 Rust 编写,虽然作者并不熟悉 Rust,但该工具运行速度快,性能优越,值得体验。

随着在一个公司待得时间越久,本地的 git 仓库就越来越多,我可能管理比较混乱,散落在~/Desktop 、~/workspace 、~/dev 等各个目录下。想找个项目的时候,经常要翻好几个文件夹,还要回忆项目的确切名字。有时候同一个项目 clone 了好几份,也不知道哪个是最新的。

之前一直用各种方法凑合:有时候在 IDE 的项目管理,有的时候用 shell 一些插件,但总觉得记录这些是一个心智负担。

这次随着换新电脑,想着干脆开发一个 CLI 工具来管理工作空间吧。
Project Man - https://github.com/lockelee1015/project-man

核心思路是:

    按照 域名/group/repo 的固化格式组织仓库结构支持模糊搜索,来替代 cd + tab 到处找

规则 > 记忆,只需要记住关键字就可以快速跳转。

举个例子

~/workspace/├── github.com/rust-lang/rust/├── github.com/microsoft/vscode/└── gitlab.com/company/project/

Project Man 提供了以下操作

p add rust-lang/rust         # 自动 clone 到正确位置p go rust                    # 模糊搜索跳转p sync                       # 批量更新所有项目p list                       # 查看所有项目状态# Search across repositoriesp grep "TODO"                # Search all reposp grep "async" rust          # Search in specific repos

实际效果
自动组织:新项目会按 host/owner/repo 的结构自动放到对应位置
快速导航:p go vs 就能跳到 vscode 项目,不用记完整路径
批量操作:一个命令同步所有项目,或者跨项目搜索代码
Shell 集成:配置后可以直接 cd 到目标目录

如何安装:

curl -fsSL https://raw.githubusercontent.com/lockelee/project-man/main/scripts/quick-install.sh | bash

整个项目全是 claude code 写的,用 rust 写的,其实我并不会写 rust ,只是知道他很快。实际测试起来确实很快。

欢迎体验反馈。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Project Man Git CLI工具 项目管理 Rust
相关文章