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

如何让Git自动同步主分支与新功能分支并保留特定代码差异?

需求可行性与Git分支同步方案

问题描述

我有一个项目,想通过修改原有机制尝试新功能,同时希望Git能同步主分支(main)和新机制分支(newJump)的变更,直到我根据数据选定最终分支。

场景举例

初始状态下,项目中有character mechanics脚本,代码如下:

void Move(){//I am moving at the speed of 5}

void Jump(){//jumping without checking stamina}

另有Common Mechanics脚本包含其他功能。

我从main分支创建newJump分支,修改character mechanics的跳跃函数:

void Move(){//I am moving at the speed of 5}

void Jump(){//jumping with checking stamina}

后续每当main分支有变更(比如修改Common Mechanics、添加新脚本,或是修改Move函数),希望Git能把这些变更同步到newJump分支,但保留我对跳跃机制的自定义修改不受影响。

比如main分支的character mechanics被修改为:

void Move(){//I am moving at the speed of 10}

void Jump(){//jumping without checking stamina}

合并后newJump分支的代码应该是:

void Move(){//I am moving at the speed of 10}

void Jump(){//jumping with checking stamina}

请问这个需求是否可行?是否必须手动更新两个分支?


解决方案

这个需求完全可行,不需要手动维护两个分支,通过Git的常规分支操作就能实现:

  • 手动同步(日常开发推荐)

    1. 切换到newJump分支:git checkout newJump
    2. 拉取main分支的最新代码:git pull origin main
    3. 将main分支合并到newJump:git merge main
      Git会自动识别并保留newJump分支中你对Jump函数的自定义修改,同时同步main分支的其他变更(比如Move函数的速度调整、Common Mechanics的修改、新增脚本等)。只要main分支不修改Jump函数的核心逻辑,基本不会出现冲突;即便出现冲突,也只需要手动解决一次即可。
  • 自动化同步(可选优化)
    如果想进一步减少手动操作,可以借助Git钩子或CI/CD工具设置自动触发流程:当main分支有新提交时,自动执行合并操作将main的变更同步到newJump。但如果遇到代码冲突,自动化流程会暂停,需要手动介入处理——不过在你的场景中,冲突概率极低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 04:42:42