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

Laravel项目public目录下storage文件夹未提交至GitHub如何解决

解决Laravel中public/storage软链接无法提交到GitHub的问题

兄弟,我之前也踩过这个坑!其实问题根源主要有两个:一是Laravel默认的.gitignore文件已经把public/storage列入了忽略列表,二是直接提交软链接在跨操作系统的开发环境里很容易出问题,所以官方其实并不推荐直接提交这个链接文件。下面给你几个靠谱的解决思路:

方法1:修改.gitignore强制提交软链接(仅限同系统团队使用)

如果你和团队成员都用相同的操作系统(比如全是Mac/Linux或者全是Windows),可以试试这个办法:

  • 打开项目根目录的.gitignore,找到public/storage这一行,要么删掉,要么在前面加#注释掉
  • 执行以下命令把软链接加入Git追踪:
    git add public/storage -f
    git commit -m "Add storage symlink to repo"
    git push
    
  • 划重点:跨系统场景下别用这个方法!Windows的快捷方式和Unix系的软链接格式完全不一样,提交后其他系统的开发者拉取代码会直接失效。

方法2:让开发者本地手动创建软链接(官方推荐)

这是Laravel官方最推荐的方案,毕竟每个环境的存储配置可能有差异,手动创建更稳妥:

  • 确保你的.gitignore里保留public/storage的忽略规则,避免后续误提交
  • 在项目的README文档里加上明确说明,告诉其他开发者克隆项目后执行:
    php artisan storage:link
    
  • Windows用户注意:需要用管理员权限打开命令行执行这个命令,或者用WSL的Linux环境来执行,否则可能创建失败。

方法3:用Composer脚本自动创建软链接

想省掉手动操作的步骤?可以把创建软链接的命令加入Composer的安装后脚本:

  • 打开项目根目录的composer.json,找到scripts节点,添加post-install-cmd脚本:
    "scripts": {
        "post-install-cmd": [
            "@php artisan storage:link"
        ],
        // 如果你需要,也可以加上update后的脚本
        "post-update-cmd": [
            "@php artisan storage:link"
        ]
    }
    
  • 这样其他开发者执行composer install或composer update后,系统会自动帮他们创建好软链接,不用再手动跑命令。

另外提醒一句:别把storage/app/public目录加入Git追踪哦!里面的上传文件都是用户生成的内容,提交到仓库会让仓库体积越来越大,Laravel默认的.gitignore已经忽略了这个目录,保持这个设置就好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 21:38:15