news 2026/2/22 23:15:20

GIT使用小白(进阶二:冲突解决)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GIT使用小白(进阶二:冲突解决)

Git 冲突处理策略(最佳实践)

冲突不可怕,关键是:定位冲突 → 分析冲突 → 解决冲突 → 测试 → 提交
只要按下面的步骤走,一次就能干干净净解决。


🔥一、常见冲突出现的场景

  1. git pull / git pull --rebase 时
  2. git rebase某个分支时(最常见)
  3. git merge某个分支时
  4. 多人改了同一个文件的同一段代码

🧭二、遇到冲突时的通用流程


步骤 1:知道哪里冲突了

Git 会告诉你哪些文件冲突:

gitstatus

通常会看到:

both modified: src/foo/bar.cpp

步骤 2:打开冲突文件,看到冲突标记

冲突段长这样:

<<<<<<< HEAD 这是你本地修改的版本 ======= 这是远程(或你 rebase 到的分支)版本 >>>>>>> origin/main

解释:

  • HEAD 区块= 当前分支里的内容
  • 下面区块= 你要 merge 或 rebase 的分支内容

步骤 3:手动选择要保留的内容

你有三种选择:

✔ 方案 1:保留我的(本地)版本

删掉远程区块:

我的代码

✔ 方案 2:保留远程版本(目标分支,如 yellow)

目标分支的代码

✔ 方案 3:合并两个版本(最常见)

手动编辑成你想要的最终样子,例如:

融合后正确的代码

步骤 4:标记冲突解决

编辑完后:

gitadd<冲突文件>

步骤 5:继续操作

如果你在用rebase

gitrebase --continue

如果你在用merge

gitcommit

(如果 Git 自动生成 merge commit message,也可以直接用)


步骤 6:如果你反悔想取消

停止 rebase

gitrebase --abort

停止 merge

gitmerge --abort

🧪三、冲突后必须做的检查

解决冲突后一定要:

  1. 重新编译 / 运行单元测试
  2. 确认逻辑正确
  3. 确认没有漏掉某些人的代码

这一步很重要,因为冲突解决错误比冲突本身更可怕。


🧰四、常见冲突处理技巧(进阶)


⭐ 技巧 1:可视化工具更简单

gitmergetool

可调用:

  • VSCode
  • Meld
  • KDiff3
  • Beyond Compare

VSCode 用户可以直接:

code.

然后在文件中点“Accept Incoming / Accept Current / Both”。


⭐ 技巧 2:你想要全保留 remote(例如 yellow 分支)

这是“保留对方版本”的快捷法:

gitcheckout --theirs.gitadd.gitrebase --continue

或 merge 场景:

gitcheckout --theirs.gitadd.gitcommit

⭐ 技巧 3:你想要全部保留自己的

gitcheckout --ours.gitadd.gitrebase --continue

⭐ 技巧 4:查看冲突发生在谁的提交

gitlog --merge

⭐ 技巧 5:修冲突之后检查差异

gitdiff--cached

确保你 add 后的内容真的正确。


🛡️五、如何减少未来冲突?(最佳实践)

  1. 每次开发前先同步 yellow
gitcheckout yellowgitpullgitcheckout my-featuregitrebase yellow
  1. 提交保持小而清晰
  2. 功能模块化修改,避免多人改同一文件
  3. 经常 push,减少你的变更积累
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/22 1:20:51

AI如何帮你快速掌握kubectl exec -it命令

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式学习工具&#xff0c;能够根据用户输入自动生成kubectl exec -it命令示例。当用户输入如何进入Pod的bash shell时&#xff0c;自动生成kubectl exec -it <pod-nam…

作者头像 李华
网站建设 2026/2/10 9:24:55

联想刃7000k BIOS权限深度解析与性能释放终极指南

联想刃7000k BIOS权限深度解析与性能释放终极指南 【免费下载链接】Lenovo-7000k-Unlock-BIOS Lenovo联想刃7000k2021-3060版解锁BIOS隐藏选项并提升为Admin权限 项目地址: https://gitcode.com/gh_mirrors/le/Lenovo-7000k-Unlock-BIOS 对于追求极致性能的技术爱好者而…

作者头像 李华
网站建设 2026/2/20 0:11:43

ProfibusDP转ModbusTCP:工业通讯网关实现西门子S7-300PLC与MES生产线通信

一、项目背景某大型机械制造企业启动智慧工厂升级项目&#xff0c;核心目标是实现8条精密零部件生产线的全流程数字化管控&#xff0c;涵盖生产数据实时采集、设备状态远程监控、生产工艺追溯等功能。车间现有现场控制层采用成熟的ProfibusDP总线架构&#xff0c;每条生产线的核…

作者头像 李华
网站建设 2026/2/17 23:50:54

K8S系列之6.2:调度进阶(污点、容忍、亲和性与自定义调度器)

Kubernetes调度器被称为集群的"大脑",负责将Pod分配到合适的节点。本章将从基础调度深入到高级调度策略,让你从"能调度"进阶到"调度好",实现资源的最优利用和业务的最佳性能。 引言:调度器的进化之路 从简单的随机调度到智能的感知调度,Ku…

作者头像 李华
网站建设 2026/2/20 14:29:42

vmtools在企业虚拟化环境中的5个实战场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个演示项目&#xff0c;展示vmtools在以下场景的应用&#xff1a;1) 自动扩展虚拟机磁盘空间 2) 跨主机迁移虚拟机 3) 批量更新虚拟机工具 4) 监控虚拟机性能指标 5) 自动化备…

作者头像 李华
网站建设 2026/2/20 1:34:19

Zotero行高设置:三招解决阅读体验优化难题

Zotero行高设置&#xff1a;三招解决阅读体验优化难题 【免费下载链接】zotero-better-notes Everything about note management. All in Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-better-notes 你是否曾经在Zotero-Better-Notes中阅读长篇笔记时感…

作者头像 李华