拉取与合并:如何让个人分支既包含你昨天的修改,也包含 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 最新的更新了。

相关推荐
夕阳_醉了2 小时前
Codex 客户端从装好到跑通:第三方 API 接入与配置避坑指南
人工智能·gpt·openai·codex·ai 编程
熟的生菜2 小时前
从零造一个腱绳驱动灵巧手——仿真器篇5:姿势串与手势工程——从文本协议到握拳、OK 与多姿势插值
人工智能
字节跳动数据平台2 小时前
不重拍,也能换道具、换商品、换画风?短剧转漫、电商换款新解法来了
大数据
武子康2 小时前
攻击动作做对了,游戏规则就对了吗?H3-World 与三条控制路线的分工
大数据·人工智能·agent
探求虚无3 小时前
用 AI 在 Unity 里做一款 RTS:最难的不是生成代码,而是证明它真的能玩
人工智能·unity·游戏引擎
vivo互联网技术3 小时前
AI Agent 技术全景解析 —— 从提示词工程到高级智能体构建
人工智能·agent
武子康3 小时前
H3-World 的动作能按时发生,为何还不能据此判断实时互动?
人工智能·深度学习·agent
师夷长技以自愈3 小时前
手搓 AI Agent 第 4 篇:后厨扩招——AI 从此能读、能写、能改、能跑
人工智能
Dawson Zhu3 小时前
【LLM推理与Serving⑨】业务模型推理引擎开发:以BEV自动驾驶为例的专用推理实践
人工智能·语言模型·架构·aigc·agi