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

Git仓库与生产服务器代码精细化合并方案咨询

解决方案:将生产服务器代码同步至已有Git仓库(保留仓库现有变更,不影响生产运行)

以下是分阶段的实操步骤,完全匹配你的需求:

1. 本地搭建对比与同步环境

  • 克隆团队已创建的Git仓库到本地:
    git clone <你的仓库地址> ./git-repo
    
  • 从生产服务器拉取完整代码到本地临时目录(用rsync规避权限和目录结构问题):
    rsync -avz 你的生产服务器用户名@生产服务器IP:/生产项目根目录 ./prod-temp
    

2. 筛选并同步指定文件(忽略仓库已有变更的文件)

  • 进入本地Git仓库目录:
    cd ./git-repo
    
  • 导出仓库中相对于远程主分支(以main为例)已变更的文件列表:
    git diff --name-only origin/main > ../changed-files.txt
    
  • 从临时生产目录同步文件到仓库,自动排除上述已变更的文件:
    rsync -avz --exclude-from='../changed-files.txt' ../prod-temp/ ./
    

    注意:../prod-temp/末尾的斜杠是同步目录内的所有内容,而非目录本身,避免出现目录嵌套问题。

3. 验证并提交同步结果

  • 查看仓库变更,确认只有仓库未修改、但生产有差异的文件被更新:
    git status
    
  • 对比文件内容,确保同步的是生产环境的正确版本:
    git diff
    
  • 提交并推送变更到远程仓库:
    git add .
    git commit -m "同步生产环境代码(排除仓库已修改的文件)"
    git push origin main
    

4. 保障生产服务器正常运行(暂不接入Git)

  • 整个同步过程中,生产服务器完全不涉及Git操作,继续使用原有代码运行,无任何影响。
  • 后续测试阶段:在测试服务器克隆远程仓库,部署代码完成测试。
  • 测试通过后,再在生产服务器安装Git,克隆仓库并切换到对应分支,完成生产环境的Git接入。

5. 多服务器同步期间的生产稳定性注意事项

  • 生产服务器接入Git前,务必备份现有代码:
    tar -czf prod-backup-$(date +%Y%m%d).tar.gz /生产项目根目录
    
  • 接入Git时选择业务低峰期,同步后验证生产服务是否正常启动。
  • 提前配置.gitignore文件,排除生产环境的日志、临时文件、本地配置等(比如logs/、temp/、local-config.ini),避免后续提交冲突。

内容的提问来源于stack exchange,提问作者Иван Александров

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:01:14