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

同一Git仓库下为不同客户在独立文件夹配置不同Git子模块

多客户定制Laravel项目的隔离式Git管理方案

核心实现思路

为每个客户创建独立本地文件夹,在每个文件夹内克隆核心软件仓库,再挂载对应客户的定制化Git子模块。这种方式既能保证核心代码的统一迭代,又能让各客户的定制内容、本地非版本化文件(如Laravel的Storage目录)完全隔离。

具体操作步骤

  • 创建客户专属本地目录:
    mkdir client-alice client-bob
    
  • 进入目标客户目录,克隆核心仓库:
    cd client-alice
    git clone git@your-core-repo-url.git .
    
  • 添加该客户的定制化子模块(子模块路径可根据项目结构调整,比如放在custom/client-alice或app/Custom):
    git submodule add git@client-alice-custom-repo-url.git custom/client-alice
    
  • 初始化并拉取子模块内容:
    git submodule init
    git submodule update
    
  • 核心代码迭代:在任意客户目录修改核心代码后,直接提交推送至核心仓库,其他客户目录拉取更新即可同步:
    git pull origin main
    

方案优势对比

  • 彻底隔离客户资源:每个客户拥有独立的本地文件夹,Laravel的Storage目录(默认不受Git版本控制)完全独立,不会出现不同客户的上传文件、缓存等混杂的情况。
  • 核心代码同步高效:核心仓库的迭代可以在任意客户目录进行,推送后其他客户目录只需拉取就能同步最新功能,无需在多个分支间切换合并。
  • 定制化维护独立:每个客户的定制代码作为独立子模块,可单独提交、更新,不会影响其他客户的定制内容或核心代码。
  • 避免分支管理混乱:无需在单个仓库内维护大量客户专属分支,减少分支切换时的文件残留、冲突风险,降低管理复杂度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:09:39