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

Git合并开发分支到生产分支时如何忽略migration文件夹?

解决Flask Migrate分支合并时忽略migration文件夹的问题

方法1:合并过程中手动排除migration文件夹

你之前用git merge --no-commit只是暂停了提交,但migration文件夹的变更已经被暂存到本地了,需要手动撤销这些变更:

  • 执行合并但不自动提交:git merge --no-commit dev
  • 撤销migration文件夹的暂存变更并恢复为生产分支原状态:git restore --staged migrations/ && git checkout HEAD -- migrations/
  • 确认文件状态无误后提交合并:git commit

方法2:配置.gitattributes实现永久自动忽略

如果每次合并都需要忽略migration文件夹,可通过配置让Git自动处理:

  1. 在项目根目录创建.gitattributes文件,添加以下内容:
migrations/ merge=ours
  1. 将该文件提交到开发分支和生产分支:git add .gitattributes && git commit -m "config migrations merge strategy"

之后再合并分支时,Git会自动保留当前分支(生产分支)的migration文件夹内容,完全忽略来自开发分支的相关变更。

方法3:合并前暂存开发分支的migration变更

如果开发分支中migration脚本是单独的提交,可先临时暂存这些变更再合并:

  • 切换到开发分支:git checkout dev
  • 暂存migration文件夹的变更:git stash push -m "temp stash migrations" migrations/
  • 切换到生产分支执行合并:git checkout prod && git merge dev
  • 合并完成后切回开发分支恢复暂存的变更:git checkout dev && git stash pop

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:55:16