SuperAPI AI 工具集

git-ship

部署与运维

查看项目

更新于 10-16 01:18

技能介绍

用途:git-ship 用于执行从提交到合并的完整流程,并在过程中绕过 CI。资料称其适合琐碎改动(重命名、错别字、配置变更、文档),不适用于功能代码、安全变更和依赖更新。

主要能力与流程:按固定步骤依次为:检测仓库、禁用工作流、建分支、提交、推送、创建 PR、合并、重新启用工作流、本地清理。检测仓库使用 gh repo view --json owner,name --jq '[.owner.login, .name] | @tsv' 获取 OWNER 和 REPO;列出活动工作流用 gh api repos/{OWNER}/{REPO}/actions/workflows --jq '.workflows[] | select(.state=="active") | [.id, .name] | @tsv',并用 gh api repos/{OWNER}/{REPO}/actions/workflows/{ID}/disable -X PUT 逐个禁用,记录被禁用的 ID 以便恢复。分支按 /commit 约定命名,如 git checkout -b chore/short-description,提交调用 commit 技能,推送用 git push -u origin $(git branch --show-current),PR 调用 pr-create 技能并在正文说明已跳过 CI。

合并与恢复:先用 gh pr merge {PR_NUMBER} --squash --admin 合并;若因评审要求失败(HTTP 405 或提示需要批准评审),先保存分支保护设置,再用 DELETE 临时移除 required_pull_request_reviews,合并后用 --input - 与 JSON 通过 PATCH 按原设置恢复。资料强调即使合并失败也必须恢复分支保护。最后用 enable 接口重新启用之前禁用的工作流,并执行 git checkout main && git pull && git branch -d {BRANCH_NAME} 清理本地分支。

限制:不要对会影响行为的代码改动跳过 CI;必须始终重新启用工作流;需跟踪被禁用的工作流 ID,避免遗留禁用状态。