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

生产服务器直接改代码致Git拉取受阻,求替代解决方案

生产环境Python文件存储数据的Git冲突问题及解决方案

项目现状

  • 项目所有数据以Python代码文件形式存储,统一放在data目录下,每个文件对应一本图书的信息。例如latin_stories.py中包含text(字典类型)、section(整数类型)、language(字符串类型)等变量,用来存储对应图书的各项属性。
  • 已认证用户可通过网页上传指定格式的CSV文件,程序会自动在生产服务器的data目录中新增或修改对应的Python文件。

核心问题

每次从Git仓库拉取代码变更到生产服务器时,用户在生产环境直接新增或修改的未被Git追踪的Python数据文件,会成为拉取操作的阻碍,导致拉取失败或出现冲突。

背景说明

接手项目时就存在这种设计,明确知道该方案存在缺陷,但现有业务代码完全基于Python文件存储数据的逻辑开发,若改用数据库存储,需要投入大量精力进行重构。推测原开发者因数据库知识储备有限,且初期数据量较小,才采用这种临时可行的方案。

现有解决方案思路

  • 方案1:迁移至数据库存储
    彻底替换当前以Python代码文件存储数据的方式,将所有图书信息迁移到数据库中,后续用户上传数据时直接写入数据库。这是从根源解决问题的方案,但需要对现有代码进行大规模重构,时间和人力成本较高。

  • 方案2:上传时自动提交Git变更
    在用户上传CSV文件、程序完成data目录下Python文件的新增或修改后,自动在生产服务器执行git add .、git commit -m "新增/更新图书数据:[文件名]"、git push系列操作,将数据文件的变更提交到Git仓库。这样后续从仓库拉取变更时,生产环境的所有数据文件都是Git已追踪的,不会再出现未追踪文件阻碍拉取的问题。需要注意配置Git操作的权限、规范提交信息,以及处理可能出现的提交冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:27:29