repostack remove <name>

从 stack 中移除一个 repo。

repostack remove <name> [options]

参数

参数说明
nameRepo 名称(在 repostack.yaml 中定义的 name

选项

选项简写说明
--yes-y跳过确认提示

执行流程

用户校验
  • use 相同,如果 repostack.yaml 中定义了 users,会强制要求 .repostackrc 存在且指向有效用户,否则抛出错误。

读取基础配置
  • 加载 repostack.yaml

查找 repo
  • name 搜索。若未找到,抛出 Repo not found: ${repoName} 并中断。

确认移除
  • --yes 模式:弹出 confirm 提示 Remove "..." from repostack?,默认
  • 用户拒绝或按 Ctrl+C 则中断。

更新配置
  • repos 数组中删除该条目。
  • 写回 repostack.yaml

自动生成 lock 文件
  • 重新生成 repostack.lock.yaml

涉及文件

文件操作
repostack.yaml读取 / 写入
.repostackrc读取(用户校验)
repostack.lock.yaml写入(覆盖)

错误信息

场景错误信息
未找到 repoRepo not found: ${repoName}
用户拒绝移除Aborted: user declined to remove repo
用户未配置(且配置了 users)This stack requires a user configuration...

注意

  • 仅移除配置记录,不会删除本地目录。如需彻底删除,请手动执行 rm -rf <path>

示例

# 交互模式
repostack remove my-repo

# 自动模式
repostack remove my-repo --yes