用途:Ship 用于把调用者指定的改动提交并推送;若未指定,则处理全部本地改动。
主要能力与流程:先检查 git status --short --untracked-files=all、git diff、git diff --staged、每个未跟踪文件以及每个未推送提交,绝不提交未经检查的文件。随后扫描改动和未推送提交中的密钥、凭证、令牌、API 或私钥、.env 内容、个人数据等不应提交的内容;若疑似包含,则停止提交,指出文件名与数据类型而不引用具体值,并询问是删除、脱敏、忽略还是有意保留。
若改动新增、修改或使测试过时,则针对这些改动运行 prune-tests。然后按用途对改动分组,一次暂存并提交一组可独立审查的文件或代码块,提交信息说明其用途,并在每次提交之间重新检查状态,直到没有未提交改动为止。
推送前运行明显且合理的快速测试或检查;若失败则停止并报告,不推送。需报告每个被跳过的检查。将当前分支推送到其已有上游;设置上游前需先询问。执行破坏性清理、重置、checkout 或删除前需先询问。最后报告提交、敏感数据扫描结果、清理的测试、检查结果与推送结果。
限制:资料未提供具体授权协议、安装方式、依赖环境或对平台的支持范围;运行环境与前置条件暂未提供。