当前位置: 首页 > news >正文

将远程 main 分支同步到 develop 分支的完整指南

将远程 main 分支同步到 develop 分支的完整指南

标准同步流程(推荐)

  1. 确保本地 develop 分支干净
git checkout develop
git status# 确认没有未提交的修改
  1. 获取最新远程变更
git fetch origin
  1. 执行合并操作(两种主流方式):
方式一:合并式同步(保留提交历史)
git merge origin/main --no-ff# --no-ff 保留合并提交记录

✅ 适合需要审计跟踪的场景

方式二:变基式同步(线性历史)
git rebase origin/main

✅ 适合保持干净线性历史的项目

  1. 解决可能的冲突
  • 查看冲突文件:git status
  • 手动编辑标记为 <<<<<<< 的文件
  • 标记已解决:git add <冲突文件>
  • 继续操作:
git merge --continue# 或 git rebase --continue
  1. 推送更新到远程 develop
git push origin develop

强制同步方案(谨慎使用)

当需要完全覆盖 develop 分支时:

git checkout develop
git reset --hard origin/main# 注意:这将丢弃所有本地修改
git push -f origin develop# 强制推送

可视化工作流

LocalRemotegit fetch origingit checkout developgit merge origin/maingit rebase origin/mainalt[合并方式][变基方式]git push origin developLocalRemote

关键注意事项

  1. 权限检查
git remote show origin# 确认有推送权限
  1. 差异预览(合并前检查):
git diff develop..origin/main
  1. 创建备份分支(安全措施):
git branch develop-backup develop
  1. CI/CD 集成:如果使用自动化部署,需同步更新 CI 配置

冲突解决速查表

冲突类型解决方案
文件删除冲突git rm <文件名>
内容修改冲突手动编辑后 git add
二进制文件冲突使用 git checkout --ours/--theirs
大量冲突时使用合并工具:git mergetool

高级技巧

  1. 使用 pull request 同步(企业级推荐):
git checkout -b sync-main-to-develop
git merge origin/main
# 在 GitHub/GitLab 创建 PR 到 develop 分支
  1. 自动化同步脚本
#!/bin/bash
git checkout develop
git fetch origin
git merge origin/main --no-edit
git push origin develop
  1. 保护分支设置
  • 在仓库设置中配置:
  • Require pull request reviews
  • Require status checks to pass

最佳实践建议:在团队协作中,优先使用 Pull Request 方式同步而非直接推送,便于代码审查和变更跟踪。对于关键分支,建议启用分支保护规则。

http://www.dtcms.com/a/300453.html

相关文章:

  • 【硬件】嵌入式软件开发(2)
  • STM32-USART串口实现接收数据三种方法(1.根据\r\n标志符、2.空闲帧中断、3.根据定时器辅助接收)
  • Pytest 参数化进阶:掌握 parametrize 的多种用法
  • HCIP---MGRE实验
  • 嵌入式硬件篇---ESP32稳压板
  • OpenLayers 综合案例-轨迹回放
  • LeetCode|Day27|70. 爬楼梯|Python刷题笔记
  • catkin_make与catkin build的关系与区别(使用catkin build的好处)
  • MGRE实验
  • 深入解析 Vue 3 中 v-model 与表单元素的绑定机制
  • 多租户Kubernetes集群架构设计实践——隔离、安全与弹性扩缩容
  • Spring Boot自动配置原理深度解析
  • 昇思学习营-模型推理和性能优化
  • Keepalived + LVS-DR 高可用与负载均衡实验
  • 【Python系列】使用 memory_profiler 诊断 Flask 应用内存问题
  • 结构化文本文档的内容抽取与版本重构策略
  • 8. 状态模式
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博舆情分析实现
  • vLLM 的“投机取巧”:Speculative Decoding 如何加速大语言模型推理
  • Spring Boot2错误处理
  • 负载均衡 LoadBalance
  • Spring Boot音乐服务器项目-查询音乐模块
  • 《Foundation 面板:设计、功能与最佳实践解析》
  • Java学习-------序列化与反序列化
  • UV: 下一代 Python 包管理工具
  • golang--虚拟地址空间
  • 阿里 Qwen3 四模型齐发,字节 Coze 全面开源,GPT-5 8 月初发布!| AI Weekly 7.21-7.27
  • 批量重命名带编号工具,附免费地址
  • Android网络框架封装 ---> Retrofit + OkHttp + 协程 + LiveData + 断点续传 + 多线程下载 + 进度框交互
  • linux根据pid获取服务目录