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

如何将Git仓库仅backend目录推送到Azure App Service?

嘿,这个需求太常见了——多模块仓库里只把特定目录推到生产环境对吧?我给你三个实用的方案,你挑最适合自己的:

方法1:使用Git Subtree Push(推荐,无需修改仓库结构)

这个方法不用动你的主仓库结构,直接把backend目录单独推送到Azure的生产仓库,操作起来很灵活:

  • 首先把Azure App Service的Git仓库添加为本地远程,比如命名为azure-prod:
    git remote add azure-prod <你的Azure App Service Git仓库URL>
    
  • 然后执行subtree推送命令,指定要推送的目录是backend,目标分支是Azure的主分支(比如main):
    git subtree push --prefix backend azure-prod main
    
    后续backend目录有更新时,直接重复上面的push命令就行,Git会自动处理增量更新。
方法2:直接在Azure App Service里配置部署路径(最省心)

如果你不想折腾本地Git命令,直接在Azure后台设置就行,完全不用改本地操作:

  • 登录Azure门户,找到你的App Service实例,进入部署中心
  • 在部署配置里找到部署路径(有些界面叫“路径映射”),把它设置为/backend
  • 保存配置后,你正常推送整个仓库到Azure的远程分支,Azure会自动只部署backend目录下的内容,其他目录会被忽略
方法3:创建仅包含backend的独立分支(适合长期单独维护)

如果需要长期为生产环境维护一个干净的backend分支,可以用这个方法:

  • 创建并切换到新分支,比如backend-prod:
    git checkout -b backend-prod
    
  • 用git filter-repo(替代老旧的filter-branch)重写分支历史,只保留backend目录的内容:
    git filter-repo --subdirectory-filter backend
    
    ⚠️ 注意:这个操作会彻底重写当前分支的历史,只在这个独立的生产分支上执行,别用到主分支!
  • 把这个干净的分支推送到Azure远程:
    git push azure-prod backend-prod:main
    
  • 后续如果主分支的backend有更新,你可以从主分支merge到backend-prod分支,再推送就行

各方案对比

  • 方法1:灵活,适合偶尔推送或需要精确控制的场景
  • 方法2:零本地操作,最省心,适合日常快速部署
  • 方法3:适合需要长期维护独立生产分支的情况,历史干净但操作略复杂

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:17:16