28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
---
|
|
description: 清理远端旧快照(默认只预演,加 --apply 才真删)
|
|
---
|
|
|
|
用 Bash(Windows 用 git-bash)运行清理脚本:
|
|
|
|
```bash
|
|
SYNC_PLUGIN="${ZCODE_SYNC_PLUGIN:-$(find ~/.zcode/plugins -maxdepth 3 -name prune.mjs -path '*env-sync*' 2>/dev/null | head -1)}"
|
|
node "$SYNC_PLUGIN" [--keep N] [--apply] [--exclude <快照名>]
|
|
```
|
|
|
|
**默认只预演(dry-run),不删任何东西**;要真删必须显式加 `--apply`。
|
|
|
|
- `--keep N` 保留最近 N 个(默认 10,也可用 `ZCODE_SYNC_KEEP` 设)
|
|
- `--exclude <快照名>` 额外钉住某个快照(可重复);`--exclude=X` 亦可
|
|
- 永远不动:`latest.json` 指向的那个、最新的那个、你钉住的那些
|
|
- 删完若 `latest.json` 指向被删的快照,会自动重指到一个还活着的
|
|
- `ZCODE_SYNC_NO_PUSH=1` 只本地删不推远端(排查用)
|
|
|
|
**先跑一次不带 `--apply` 的,把预演结果给用户确认**(会列出删哪几个、各多大、共释放多少),
|
|
用户确认后再加 `--apply` 重跑。不要不问就删。
|
|
|
|
清理会真的删掉远端历史,**这是不可逆的**;用户若没明确说"删",就只跑预演并告诉他加上 `--apply` 才会删。
|
|
|
|
**把脚本输出原样展示给用户**。
|
|
|
|
用户附加要求:$ARGUMENTS
|