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

相关推荐
剑穗挂着新流苏3125 小时前
117_PyTorch 实战:利用训练好的模型进行单张图片验证
人工智能·python·深度学习
程序员cxuan5 小时前
人麻了,谁把我 ssh 干没了
人工智能·后端·程序员
数据皮皮侠5 小时前
中国城市间地理距离矩阵(2024)
大数据·数据库·人工智能·算法·制造
枫叶林FYL5 小时前
【乳腺癌早期筛查(钼靶X光图像AI识别)】第一章:钼靶AI核心算法架构演进——从2D全视野到3D断层合成与视觉Transformer
人工智能·深度学习
ToB营销学堂5 小时前
B2B营销自动化新解法:MarketUP聚焦高转化场景
大数据·运维·自动化
TK云大师-KK5 小时前
TikTok自动化直播遇到内容重复问题?这套技术方案了解一下
大数据·运维·人工智能·矩阵·自动化·新媒体运营·流量运营
姚青&5 小时前
大语言模型与私有部署
人工智能·语言模型·chatgpt
WeeJot嵌入式5 小时前
Meta LSP无数据训练深度解析:语言自我对弈的数学原理与实现
人工智能·机器学习·里氏替换原则
foundbug9996 小时前
基于卡尔曼滤波的背景建模与车辆检测(OpenCV实现)
人工智能·opencv·计算机视觉