上游分支同步
将过时的会话分支安全地重新基于最新上游。
技能明确要求获取远程更新并执行 rebase,且规定冲突时以上游为准,具备一定操作边界;但未要求用户确认,未检查或披露远程数据流,未提供备份、撤销或 rebase 中止方案,并可能先自动提交未提交改动,因此在权限、可恢复性和外部影响方面扣分。
工作流步骤少且主路径可理解,包含冲突后的 git add 与 rebase --continue;但未说明 origin 不可用、认证失败、非标准分支、提交失败、冲突无法解决或验证失败时的诊断与恢复方式,且验证要求笼统,静态评估按上限保守扣分。
描述和流程清楚地针对上游显著前进、需要追赶的会话分支;但未定义“不应触发”的场景、分支状态前置条件、远程配置要求或输入输出,未提供中文使用说明;功能依赖可访问的 Git 远程仓库,网络环境适配证据不足,因此扣分。
文档有 front matter、工作流、冲突处理和验证分层,仓库同时提供 MIT 许可、Microsoft 归属及较清晰的仓库维护背景;但技能自身没有版本、变更记录、维护责任、安装/依赖说明、示例、FAQ、限制说明或明确更新路径,并隐含依赖 /commit 技能,故扣分。
核心目标是将当前会话分支基于最新 upstream,命令序列在正常 Git 环境中可能完成该任务;但自动提交和 rebase 的结果仍需人工审查,验证没有具体命令或验收标准,也未说明无法保留会话目标时的可直接交付结果,静态评估不超过 7 分。
技能提供了可审计的命令和冲突规则,仓库存在一般性的 CI 与测试文件;但所给 CI/test 证据并不覆盖该技能的 rebase 路径,没有技能专属测试、示例输出或第三方执行记录,因此只能给有限静态可验证性。
- 执行前应明确获得用户对自动提交、远程 fetch 和可能丢弃会话侧冲突修改的确认,并先建立可恢复的分支或备份。
- 应补充 origin/基分支探测、认证或网络失败、无法解决冲突、rebase 中止与恢复、提交失败及验证失败的具体处理和错误反馈。
- 验证步骤应给出与当前会话目标相关的可执行命令和验收标准;当前仓库中的 CI 证据不能证明该技能路径已被测试。
它能做什么 & 适用场景
此技能用于让落后的会话分支跟上最新的 origin。它会先处理未提交更改,再获取上游并将当前分支变基到适当的基础分支,默认示例为 origin/main。发生冲突时保留上游逻辑,并调整会话工作以适配。变基完成后,需要验证结果是否仍能编译并满足会话目标。
检查是否存在未提交更改;必要时使用 /commit 技能提交;运行 git fetch origin;运行 git rebase origin/main,或在基础分支不是 main 时使用适当分支;在冲突中保留上游逻辑,修改会话工作并执行 git add 与 git rebase --continue;完成后验证编译结果和会话目标。
- 正在开发会话分支且 origin 已有大量新提交的开发者,需要先同步上游再继续工作。
- 会话分支与主分支发生冲突、且解决策略应优先保留上游代码的开发者。
- 希望在变基后检查代码是否仍可编译并符合原定目标的开发者。
优缺点一览
- 明确采用上游优先的冲突解决策略。
- 覆盖提交未提交更改、获取上游、变基和变基后验证。
- 适用于需要保持会话目标同时跟进 origin 的 Git 分支工作。
- 依赖 Git、网络访问和本地文件系统。
- 未提供精确的编译或测试命令,验证步骤需要结合项目环境执行。
- 冲突处理要求改写会话工作,可能改变原有实现。
如何安装
README 说明该仓库包含 61 个技能,但没有提供单独安装此技能的命令或目标目录。技能文件位于 src/vs/sessions/skills/sync-upstream/SKILL.md。
如何使用
在会话分支明显落后于上游时请求更新分支,例如:"把当前会话分支变基到最新上游,并按上游优先解决冲突。" 技能会使用 git fetch origin 和 git rebase origin/main;若基础分支不是 main,则使用适当分支。