代码合并冲突解决:Git 合并冲突的代码处理技巧

Git 合并冲突的常见场景

当多个分支修改同一文件的相同区域时,Git 无法自动合并,会标记为冲突状态。冲突文件会包含特殊标记(<<<<<<<=======>>>>>>>),需手动解决。

识别冲突文件

运行 git status 查看冲突文件列表。冲突文件会显示为 both modified 状态。
冲突标记示例:

<<<<<<< HEAD 当前分支的代码 ======= 要合并的分支的代码 >>>>>>> branch-name 

手动解决冲突步骤

  1. 打开冲突文件:用编辑器或 IDE 定位冲突标记,逐项分析需要保留的代码。
  2. 选择保留内容:删除冲突标记(<<<<<<<=======>>>>>>>),保留正确的代码逻辑。
  3. 验证修改:运行测试或编译,确保解决后的代码功能正常。

使用工具辅助解决

  • VS Code:内置 Git 冲突解决界面,支持一键选择保留当前分支或合并分支的代码。
  • IntelliJ IDEA:提供三窗格对比视图,支持合并编辑。
  • 命令行工具:运行 git mergetool 调用配置的差异工具(如 meldkdiff3)。

完成合并并提交

提交合并结果:

git commit 

提交信息会自动填充为合并描述,无需手动填写。

将解决后的文件标记为已解决:

git add <file> 

避免冲突的预防措施

  • 频繁拉取远程分支更新:git pull --rebase 减少冲突概率。
  • 小颗粒度提交:拆分大改动为多次提交,降低冲突范围。
  • 团队协作规范:约定文件修改权限或使用代码所有权机制。

复杂冲突处理

若冲突涉及二进制文件或历史重构,可考虑以下方法:

  • 使用 git checkout --ours--theirs 强制选择一方版本。
  • 通过 git reset 回退合并,重新规划修改逻辑。

关键注意事项

  • 解决冲突后必须测试,避免引入隐性错误。
  • 禁止直接提交包含冲突标记的文件。
  • 若冲突无法短时间解决,可暂存进度:git stash 保存当前修改。

Read more

GitHub 64k Star 神器!OpenCode 5 分钟上手指南:开源免费,Claude Code 平替!

GitHub 64k Star 神器!OpenCode 5 分钟上手指南:开源免费,Claude Code 平替!

OpenCode,开源版 Claude Code。 6.4 万 GitHub Stars(昨天还是 6.1 万),100 万月活开发者,75+ 模型。 昨天写了 Anthropic 封杀第三方工具、OpenAI 主动开门的事。 今天出一篇 OpenCode 教程,5 分钟上手。 01|安装 三种方式,按需选择。 桌面客户端(新手推荐) 不习惯命令行?直接下载桌面版。 你可以理解为带 GUI 界面的 Claude Code,操作简单,新手友好。 打开 opencode.ai/download,macOS、Windows、Linux 版本都有。

By Ne0inhk
【Git#3】分支管理下的分支策略

【Git#3】分支管理下的分支策略

📃个人主页:island1314 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 * 生活总是不会一帆风顺,前进的道路也不会永远一马平川,如何面对挫折影响人生走向 – 《人民日报》 🔥 目录 * 一、分支管理策略 * 二、分支策略 * 三、六种合并策略 * 1. 合并策略全景图 * 2. 六大合并策略详解 * ① Fast Forward(快进合并) * ② Recursive(递归合并) * ③ Ours/Theirs(选择性合并) * ④ Octopus(章鱼合并) * ⑤ Subtree(子树合并) * ⑥ Resolve(解决合并) * 3. 策略对比矩阵 * 4. 实战场景推荐 * 5. 高级调试技巧 一、分支管理策略 通常在合并分支时,一般情况下Git会采用 Fast forward 模式。还记得如果我们采用 Fast

By Ne0inhk
【Microi吾码】开源低代码平台-Microi吾码-一键安装使用(CentOS一键安装MySql+Redis+MinIO+MongoDB+Watchtower脚本)

【Microi吾码】开源低代码平台-Microi吾码-一键安装使用(CentOS一键安装MySql+Redis+MinIO+MongoDB+Watchtower脚本)

📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐、摄影的一位博主。 📗本文收录于Microi吾码系列专栏,大家有兴趣的可以看一看 📘相关专栏C语言初阶、C语言进阶系列、恒川的日常汇报系列等,大家有兴趣的可以看一看 📙Python零基础入门系列,Java入门篇系列、docker技术篇系列、Apollo的学习录系列正在发展中,喜欢Python、Java、docker的朋友们可以关注一下 开源低代码平台-Microi吾码 * 前言 * CentOS7一键安装脚本 * 注意事项: * 安装成功预览图 * 安装过程图 * 安装结果docker * 脚本代码【有点东西:)】 * 踩过的坑 * Microi吾码 - 系列文档 Microi吾码是一个开源的低代码平台,旨在通过简化应用程序开发过程,帮助开发者和非开发者快速创建和部署应用。低代码平台通过可视化界面、拖拽操作、预设模板等方式,降低了编程的复杂度,让用户能够以更少的编码工作完成应用开发。 前言 有小伙伴提出他并不想在本地编译代码、打包镜像、上传镜

By Ne0inhk