SuperAPI AI 工具集

rebase-origin-main

通用与其它

查看项目

更新于 10-16 07:59

技能介绍

用途:将当前分支变基到最新的 origin/main,并在过程中逐一提交地解决冲突,直到变基干净完成。\n\n主要能力:抓取最新 origin/main 并启动变基;借助 git status 识别冲突;逐文件读取冲突标记并合并;解决后暂存并继续;处理空提交、放弃变基、二进制文件冲突等边界情况;变基后检查提交范围,本地跑完整 CI,再以安全方式推送。\n\n关键要点:变基时 git 的 ours/theirs 标签与直觉相反——HEAD/ours 指 origin/main(被变基到的基线),theirs 指正在重放的你的提交。解决冲突应保留你提交的意图,同时融入 origin/main 的上下文。\n\n用法:\n1. git fetch origin 后执行 git rebase origin/main。\n2. 用 git status 检测冲突。\n3. 对每个冲突文件:读取全文,理解 ======= 上下两侧含义,编辑为正确合并结果,确保无冲突标记;可用 grep -En "<<<<<<<|=======|>>>>>>>" <file> 校验,再 git add <file>。若冲突含义不明确,先停下来询问用户。\n4. 当前提交冲突全部暂存后执行 git rebase --continue。\n5. 边界情况:提交变空用 git rebase --skip;需整体放弃用 git rebase --abort;二进制文件冲突需询问用户保留哪一版。\n6. 干净变基后用 git log --oneline origin/main..HEAD 验证。\n7. 本地运行完整 CI:pnpm lint && pnpm typecheck && pnpm test && pnpm build;若失败,按 fixing-ci 技能从第 2 步 Fix Loop 到第 3 步 Verify All 诊断修复,全部通过前不要推送。\n8. git push --force-with-lease 安全强推。\n\n冲突解决原则:优先显式而非取巧;不确定时保留双方改动并修正;main 上删除且你也删除同一内容时以 main 为准(跳过空操作);你的新增一般优先,除非与 main 的语义变更(如重命名)冲突;不得静默丢弃任何一方,若解析丢失有意义代码需向用户标记。\n\n常见错误:文件中残留冲突标记(暂存前用 grep 检查)、未读完整文件就暂存、误以为 ours 是你的分支(变基中相反)、不查看日志就继续(务必运行 git log --oneline origin/main..HEAD)。\n\n限制:资料未说明该技能适用的具体平台、安装方式或依赖环境,相关细节暂未提供。