SuperAPI AI 工具集

rebase

通用与其它

查看项目

更新于 10-16 05:45

技能介绍

用途:将当前功能分支变基到最新基础分支,保持分支同步,避免合并冲突累积。

主要能力与流程:先校验前置条件,检测当前分支与基础分支;若当前已在基础分支则停止。通过脚本 ${CLAUDE_SKILL_DIR}/scripts/detect-base-branch.sh 检测基础分支,失败则停止。用 git status --porcelain 检查未提交改动,若有则询问用户选择暂存后变基(git stash 后 git stash pop)或取消。随后执行 git fetch origin <base-branch> --quiet,并用 git merge-base HEAD origin/<base-branch> 与 git rev-parse origin/<base-branch> 比较,若一致说明已最新则停止。最后执行 git rebase origin/<base-branch>;成功后用 git rev-list --count origin/<base-branch>..HEAD 报告领先提交数。

冲突处理:变基冲突时执行 git rebase --abort,若此前暂存过则用 git stash pop 恢复,并提示用户手动运行 git rebase origin/<base-branch> 解决。

限制与注意事项:该技能只管理 Git 状态,不修改项目文件。若分支已推送到远程,变基会重写历史,成功后需 git push --force-with-lease,应提醒用户。git stash pop 可能与变基后的提交重叠而产生冲突,失败时提示用 git stash show 查看。处于 detached HEAD 状态时应停止,不尝试变基。基础分支本地不存在但远程存在时,fetch 会创建远程跟踪引用,变基使用 origin/<base-branch>。若曾暂存改动,即使变基失败也必须恢复。