repostack remove <name>
从 stack 中移除一个 repo。
repostack remove <name> [options]
参数
| 参数 | 说明 |
|---|---|
name | Repo 名称(在 repostack.yaml 中定义的 name) |
选项
| 选项 | 简写 | 说明 |
|---|---|---|
--yes | -y | 跳过确认提示 |
执行流程
用户校验- 与
use 相同,如果 repostack.yaml 中定义了 users,会强制要求 .repostackrc 存在且指向有效用户,否则抛出错误。
use 相同,如果 repostack.yaml 中定义了 users,会强制要求 .repostackrc 存在且指向有效用户,否则抛出错误。读取基础配置- 加载
repostack.yaml。
repostack.yaml。查找 repo- 按
name 搜索。若未找到,抛出 Repo not found: ${repoName} 并中断。
name 搜索。若未找到,抛出 Repo not found: ${repoName} 并中断。确认移除- 非
--yes 模式:弹出 confirm 提示 Remove "..." from repostack?,默认 否。 - 用户拒绝或按
Ctrl+C 则中断。
--yes 模式:弹出 confirm 提示 Remove "..." from repostack?,默认 否。Ctrl+C 则中断。更新配置- 从
repos 数组中删除该条目。 - 写回
repostack.yaml。
repos 数组中删除该条目。repostack.yaml。自动生成 lock 文件- 重新生成
repostack.lock.yaml。
repostack.lock.yaml。涉及文件
| 文件 | 操作 |
|---|---|
repostack.yaml | 读取 / 写入 |
.repostackrc | 读取(用户校验) |
repostack.lock.yaml | 写入(覆盖) |
错误信息
| 场景 | 错误信息 |
|---|---|
| 未找到 repo | Repo 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