Eris Client
C

Eris Client

一款基于 C 语言的命令行工具,将您的 Git 工作流封装为简单的命令——支持引导式常规提交、一键提交和推送、分支创建、重基操作,以及可重用的项目宏。

GitHub|

Eris 是一款开发者命令行工具,它通过结构化的提交流程、项目本地宏以及一个支持命令链式调用和否定操作的 Prolog 驱动命令路由器,对您的 Git 工作流进行封装。

在日常工作中,您可以使用 eris 代替直接使用 Git 命令。


功能介绍

eris init [name] — 在当前目录下创建 .eris/ 目录,生成宏文件,并将 .eris/ 添加到 Git 的本地排除列表中,确保它永远不会出现在您的代码库中。

eris commit / eris copush — 一键完成交互式提交和推送。 会提示你从菜单中选择一种常规的提交类型(如 featfixrefactor 等),然后要求输入提交信息,将其格式化为 类型: 信息,将所有内容暂存、提交并推送。在项目内的任何位置均可使用。

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

如果缺少依赖项(如 cmakegcclibcurllibssl 等),系统会在构建过程中自动检查并安装。


从源代码构建

make # 配置 + 构建(调试版)
make CONFIG=Release
make JOBS=8

要求:cmakegcc/g++libcurl-devlibssl-devpkg-config
可选:用于 Prolog 路由器的 SWI-Prolog(libswipl-dev)——若未安装,将回退到 C 语言路由器。


文档