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

是否应将Active Storage二进制变体文件推送至版本控制?

这是正常的,但属于Active Storage默认配置下的常见坑

这确实是正常的,但属于Active Storage默认配置下很容易踩的一个小坑——我刚用Active Storage的时候也碰到过这个问题😅。

原因解析:

  • Active Storage在开发环境的默认存储服务是:local,它会把上传的文件存在项目根目录的storage/文件夹下。
  • Rails生成的默认.gitignore文件并没有包含storage/目录,所以Git会自动追踪这个文件夹里的所有文件,当你推送代码到Bitbucket时,这些二进制图片文件自然会被一起推上去。

怎么解决这个问题?

如果你不想把这些本地调试用的二进制文件推送到远程仓库,可以按以下步骤操作:

  1. 更新.gitignore文件:在文件末尾添加一行(第二行可选,用于保留目录本身):
    /storage/*
    !/storage/.keep
    
  2. 移除已推送到远程的文件(保留本地文件):在终端执行以下命令:
    git rm -r --cached storage/
    git commit -m "Stop tracking Active Storage local files"
    git push
    
  3. 后续建议:开发环境下各自用本地存储完全没问题,只要确保storage/被忽略就行;如果团队需要共享开发环境的上传文件,可以考虑配置云存储服务或者共享文件存储,但一般来说没必要。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:51:59