You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在同一GCP存储桶内移动文件并保留版本历史?

同一GCP存储桶内移动文件并保留版本历史的实现方法

首先确认你的存储桶已经开启版本控制——这是保留版本历史的前提,未开启的话不存在版本历史可保留。

情况1:仅迁移当前版本,原路径保留历史版本

直接用gsutil mv即可,同桶内的移动本质是对象重命名,原路径的历史版本会以非当前版本形式留存,新路径获得当前版本:

gsutil mv gs://your-bucket/old-path/file.txt gs://your-bucket/new-path/file.txt

情况2:迁移所有历史版本到新路径

如果要把对象的所有版本都转移到新路径,需要分两步操作:

  1. 复制所有版本到目标路径
    使用gsutil cp加-A参数(复制所有generation版本):
    gsutil cp -A gs://your-bucket/old-path/file.txt gs://your-bucket/new-path/file.txt
    
  2. 清理原路径的所有版本(可选)
    要是不需要留着原路径的版本,用gsutil rm加-A参数删除所有版本:
    gsutil rm -A gs://your-bucket/old-path/file.txt
    

    注意:删除操作不可恢复,执行前务必确认。

批量处理文件夹

要批量迁移整个文件夹的所有文件及版本,用通配符配合-m(并行处理)提升速度:

# 批量复制所有版本
gsutil -m cp -A gs://your-bucket/old-folder/** gs://your-bucket/new-folder/
# 批量删除原文件夹所有版本(可选)
gsutil -m rm -A gs://your-bucket/old-folder/**

内容的提问来源于stack exchange,提问作者Andi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 12:50:12