cnb-rs commit changed-files
cnb-rs commit changed-files <COMMIT|BASE..HEAD> [options]下载单个 commit 或两个 ref 之间的变更文件归档。上游当前返回 zip;命令会按响应魔数识别 zip / tar.gz,短 SHA、分支和 tag 会先解析为完整 commit SHA。
选项
<COMMIT|BASE..HEAD>: 单个 commit 引用,或用..分隔的基准与目标 ref-o, --output <PATH>: 保存文件或已有目录;指定目录时使用默认文件名
不指定 -o 或指定已有目录时,命令按识别结果使用 <repo-tail>-<ref-short>-changed-files.zip 或 <repo-tail>-<ref-short>-changed-files.tar.gz。上游当前返回 zip,因此默认文件名目前为 .zip;如果 -o 给出的 .zip / .tar.gz 后缀与实际格式不一致,命令会警告但仍写入。
命令不直接解包归档;根据识别出的格式使用对应命令:
bash
unzip <FILE.zip>
tar -xzf <FILE.tar.gz>继承的全局选项:
--repo <REPO>: 指定仓库路径--domain <DOMAIN>: 指定目标域名--json: 输出包含path、bytes、已解析target和format(zip/tar.gz)的 JSON
示例
bash
# 下载单个 commit 的变更文件
$ cnb-rs commit changed-files bc45033
✓ 已下载变更文件归档 cnb-rs-bc45033-changed-files.zip (12.4 KB)
# 下载两个 tag 之间的变更文件
$ cnb-rs commit changed-files v1.0.0..v1.1.0 -o /tmp/changed.zip
# 输出到已有目录,再解包
$ cnb-rs commit changed-files main -o ./builds/
$ unzip ./builds/cnb-rs-main-changed-files.zip -d ./builds/extracted
# JSON 输出
$ cnb-rs --json commit changed-files main -o /tmp/changed.zip