跳转到内容

外部载荷

Graft 把二进制文件和配置的资源路径存为 external payload。commit 中记录 pointer object,真实字节存放在本地 .graft/store/files 和远端 payload store 中。

  • binary files
  • 超过 files.inline_text_threshold 的 text files
  • 匹配 files.external_paths 的 text files

配置:

Terminal window
graft config set files.external_paths "assets/**, attachments/**"
graft config set files.inline_text_threshold 1 MB

查看:

Terminal window
graft status --json
graft ls-files --json --details
Terminal window
graft payload status HEAD
graft payload status --json HEAD
graft payload fetch --remote origin HEAD
graft payload fetch --json --remote origin HEAD

payload fetch 不移动 refs,不修改 index,也不触碰 worktree files。

Terminal window
graft audit
graft audit --repair origin
graft payload prune
graft payload prune --force

payload prune 默认 dry-run。只有不再被 index、branch、remote-tracking branch、tag 或 reachable commit 引用的 payload 才是候选。

Terminal window
graft ls-files --json --details
graft payload status --json HEAD

external_payload_present 和 payload status 显示本地可用、缺失、损坏或可 fetch 的文件。