Eris 是一款开发者命令行工具,它通过结构化的提交流程、项目本地宏以及一个支持命令链式调用和否定操作的 Prolog 驱动命令路由器,对您的 Git 工作流进行封装。
在日常工作中,您可以使用 eris 代替直接使用 Git 命令。
功能介绍
eris init [name] — 在当前目录下创建 .eris/ 目录,生成宏文件,并将 .eris/ 添加到 Git 的本地排除列表中,确保它永远不会出现在您的代码库中。
eris commit / eris copush — 一键完成交互式提交和推送。 会提示你从菜单中选择一种常规的提交类型(如 feat、fix、refactor 等),然后要求输入提交信息,将其格式化为 类型: 信息,将所有内容暂存、提交并推送。在项目内的任何位置均可使用。
eris ignore <文件> — 将文件添加到 .eris/.eris.ignore 中,使其在 copush 过程中被跳过。此设置仅针对当前项目,而非全局。
eris alias add <名称> do <命令> do <命令> — 将一个命名宏(一组 shell 命令)保存到 .eris/.eris.macros 中。
eris alias run <名称> / eris run <名称> — 运行已保存的宏。
eris rebuild — 使用 CMake 重建 eris 二进制文件本身。
eris root — 输出检测到的 eris 项目根目录。
命令链
命令路由器采用 Prolog 编写。它支持在参数列表中直接使用 &&、|| 和 not:
eris init myapp && eris commit # 仅在初始化成功时提交
eris init || true # 忽略失败
eris not init # 初始化失败时仍视为成功
宏
宏存储在项目根目录下的 .eris/.eris.macros 中:
[deploy]
make build
git push origin main
ssh prod "systemctl restart app"
使用 do 分隔符添加(无需加引号):
eris alias add deploy do make build do git push origin main
使用引号添加(适用于包含分号或 shell 语法的命令):
eris alias add test "npm run lint" "npm test"
运行:
eris run deploy
安装
make install
这将编译二进制文件,将其复制到 /usr/local/bin/eris,并向您的 .bashrc 或 .zshrc 文件中追加一个别名(自动检测)。然后:
source ~/.zshrc # 或 ~/.bashrc
如果缺少依赖项(如 cmake、gcc、libcurl、libssl 等),系统会在构建过程中自动检查并安装。
从源代码构建
make # 配置 + 构建(调试版)
make CONFIG=Release
make JOBS=8
要求:cmake、gcc/g++、libcurl-dev、libssl-dev、pkg-config。
可选:用于 Prolog 路由器的 SWI-Prolog(libswipl-dev)——若未安装,将回退到 C 语言路由器。
