拉取与合并:如何让个人分支既包含你昨天的修改,也包含 develop 最新更新

场景:

我现在在crjdevelop,我昨天拉取了develop的最新代码到我的crjdevelop分支上上面,并在crjdevelop分支上对昨天的最新代码做了修改,但是今天develop又更新了代码,我要如何同步拉取最新代码,并合并我修改的代码

第一步:保存并备份你当前的修改

复制代码
cd ~/autoware_ws/lubo_auto_car/luobopnc

# 1. 确保在你的分支上
git checkout crj_develop

# 2. 提交本地修改 (也可以用图形化进行操作)
git add .
git commit -m "xxxxxxxxxxxxxx"

# 3. 立即推送到远程备份
git push origin crj_develop

第二步:拉取并合并 develop 的最新代码

现在你的修改已经存入 Git 仓库了,可以放心地把远程的 develop 拉下来跟你的代码合并。

(这步和之前一样,如果遇到冲突就去 VS Code 里解冲突)

复制代码
# 直接拉取远程 develop 并合并到当前分支
git pull --rebase origin develop

你执行 git pull --rebase origin develop 后,Git 做了这几件事:

  1. 撤下 :把你 crj_develop 分支上你自己写的、还没推送到 develop 的提交(Commits)先暂时"拿下来"放在一边。

  2. 更新 :把 crj_develop 的基准点(Base)移动到远程 origin/develop 的最新位置(也就是把你同事们的最新代码拉下来垫在最下面)。

  3. 放回 :把你刚才"拿下来"的那些提交,一个一个地重新应用(Re-apply)到最新的代码之上。

现在,你的 crj_develop 分支既包含了大家最新的代码,也包含了你自己的修改,而且你的修改是在"最上面"的。


第三步:处理冲突(如果发生)

如果在执行第二步时提示 CONFLICT (冲突),说明你修改的文件和 develop 更新的文件重叠了。

  1. 打开 VS Code 的源代码管理面板(左侧像树杈的图标)。

  2. 在 "Merge Changes" 列表中点击冲突文件。

  3. 在编辑器中选择:

    • Accept Current Change(保留你的)
    • Accept Incoming Change(使用 develop 的)
    • 或者手动编辑保留两者。
  4. 解决完所有文件的冲突后,执行命令完成合并:

    随便修改一点打印的东西
    git add .
    git commit -m "Vx.x之上合并了几月几号几时的develop"
    git push --force-with-lease origin crj_develop

此时,你的 crjdevelop 分支就既包含你昨天的修改,也包含 develop 最新的更新了。

相关推荐
九.九5 小时前
ops-transformer:AI 处理器上的高性能 Transformer 算子库
人工智能·深度学习·transformer
恋猫de小郭5 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
deephub5 小时前
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
人工智能·microsoft·langchain·大语言模型·agent·强化学习
偷吃的耗子5 小时前
【CNN算法理解】:三、AlexNet 训练模块(附代码)
深度学习·算法·cnn
大模型RAG和Agent技术实践5 小时前
从零构建本地AI合同审查系统:架构设计与流式交互实战(完整源代码)
人工智能·交互·智能合同审核
老邋遢5 小时前
第三章-AI知识扫盲看这一篇就够了
人工智能
互联网江湖5 小时前
Seedance2.0炸场:长短视频们“修坝”十年,不如AI放水一天?
人工智能
PythonPioneer6 小时前
在AI技术迅猛发展的今天,传统职业该如何“踏浪前行”?
人工智能
冬奇Lab6 小时前
一天一个开源项目(第20篇):NanoBot - 轻量级AI Agent框架,极简高效的智能体构建工具
人工智能·开源·agent