用途:git-structured 用于安全、结构化地执行 Git 操作,所有操作返回 JSON,便于程序解析。适用场景包括检查仓库状态、创建提交、管理分支、查看历史与差异、stash 操作。明确不适用于无备份的破坏性操作、向受保护分支强推、在共享分支重写历史。
主要能力:支持 status、diff、log、add、commit、branch、checkout、push、pull、stash、reset、revert 等操作,选项随操作变化,如 diff 的 cached、files,commit 的 message、all、amend,checkout 的 branch 或 newBranch/startPoint。
使用方式:通过 require('/job/.pi/skills/git-structured/git.js') 调用 git(operation, options)。也可用 Bash CLI,例如 node /job/.pi/skills/git-structured/git.js --op status,或 --op commit --message "Add feature" --files "src/*.js"。操作结果统一返回结构化 JSON。
安全特性:参数清理、禁止 shell 扩展、拦截危险标志(如 --exec=、--upload-pack=);可配置自主级别、破坏性操作需审批、记录审计日志;受保护分支默认包含 main、master、develop、release/*,向这些分支强推会报错。
限制:破坏性操作如 hard reset 需 approved: true;部分平台或价格信息暂未提供;错误码包括 EMPTY_COMMIT、CONFLICT、UNCOMMITTED_CHANGES。