SuperAPI AI 工具集

orx-git

编程与开发

查看项目

更新于 11-13 16:15

技能介绍

用途:orx-git 面向 OpenResearch 项目中的实验代码管理,规定如何读取、编辑、提交和对比实验代码,并在多个并行会话共享同一克隆时协调 worktree 与分支使用,同时保留已冻结的实验分支历史。

主要能力:

  • 在开始分支工作前,通过 git branch -a、orx runs <projectId> 及相关 orx exp desc <expId> 说明检查现有工作,避免与其他会话重复。
  • 每个实验节点拥有本地 orx/<slug> 分支,由 orx create-experiment 从其父分支创建。
  • 支持用 git status --short 检查改动,git add 与 git commit 提交实验改动。
  • 支持仅用本地引用比较子实验与父实验:git diff <parent-branch>...orx/<child-slug> 和 git log --oneline <parent-branch>..orx/<child-slug>。

使用方式: 会话 worktree 初始为 detached 状态并位于基线,编辑前需检出实验分支: git checkout orx/<slug> git status --short git add <changed files> git commit -m "describe the experiment change" 启动运行前应确认 git status --short 为空,并用 git show --stat --oneline HEAD 检查记录的提交;运行器从记录的提交构建不可变源码归档,未提交文件不会包含在运行中。

协作约定: 其他聊天会话可能在同一克隆的兄弟 worktree 中工作,分支与远程是共享的。一个分支只应有一个 worktree 所有者;若检出时提示分支已被检出,仅当提示路径是自己的 worktree 时才继续,否则应将该分支留给其所有者。应持续更新实验说明,便于其他会话了解进展。

限制: 实验一旦有运行结果回答,其分支与历史即不可变,不得 merge 或 rebase。需要纳入其他工作时,应创建子实验,并将合并提交放在子分支上。实验历史记录的是实际运行的精确代码,因此禁止 rebase 实验历史。GitHub 发布可能启用以供协作者查看,但不属于计算传输的一部分;应遵循项目 playbook 的发布状态,不要仅为启动计算而推送,也不要从论文上游仓库拉取或回推。