SuperAPI AI 工具集

git-worktree-clean

编程与开发

查看项目

更新于 10-15 10:10

技能介绍

用途

git-worktree-clean 用于清理一个 Git worktree 分支:从 origin 拉取最新的仓库状态,并将工作树硬重置到目标分支,使工作区恢复到干净状态。

主要能力

  • 从 origin 获取最新状态(git fetch origin)。
  • 将工作树硬重置到目标分支,默认目标为 origin/latest,也可通过参数指定分支。
  • 在重置前检测未提交的变更并给出警告。
  • 重置后显示当前提交记录与工作区状态,确认清理结果。

使用方式

命令格式:

/git-worktree-clean [branch]

参数:

  • branch(可选):要重置到的目标分支。默认值:origin/latest

如果用户以 help 作为参数传入,命令会解释如何使用该命令及其前置条件,然后立即退出,不执行后续流程。

工作流程

  1. 验证环境:检查当前目录是否为 Git 工作树(git rev-parse --is-inside-work-tree);检查是否存在未提交的变更(git status --porcelain),若存在则输出警告并列出变更文件,并停止执行、等待用户确认。
  2. 获取最新状态:执行 git fetch origin。
  3. 硬重置到目标:若未提供参数,TARGET_BRANCH 默认为 origin/latest;执行 git reset --hard "$TARGET_BRANCH"。
  4. 验证干净状态:执行 git log --oneline -1 与 git status,展示当前状态。

完成标准

  • 工作树是干净的。
  • HEAD 与目标分支一致。
  • 用户已被告知重置结果。

前置条件

  • 必须可用 Git CLI。
  • 工作目录应当是一个 Git worktree(而非主仓库)。
  • 不应存在关键性的未提交变更——若工作区不干净,需向用户发出警告。

适用场景

  • 在多个 worktree 中并行开发后,需要将某个工作树快速恢复为远端分支的干净状态。
  • 需要丢弃工作树中的本地改动并同步到指定分支时。

限制与注意事项

  • 该命令使用 git reset --hard,会丢弃未提交的变更;资料中明确要求在检测到未提交变更时先停止并等待用户确认。
  • 资料未提供收费、价格、平台支持范围等信息,暂未提供。