全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-11 5 分钟 ✍️ juanwangdev

冲突标记解析

Git 在冲突文件中使用特殊标记分隔不同版本的代码,便于手动解决。

冲突标记格式

Go
<<<<<<< HEAD
当前分支(HEAD)的内容
=======
要合并分支的内容
>>>>>>> branch-name

标记含义

标记说明
<<<<<<< HEAD冲突开始,以下是当前分支内容
=======分隔线,分隔两个版本
>>>>>>> branch冲突结束,以上是合入分支内容

冲突示例

Go
// 冲突文件内容
func getMessage() string {
<<<<<<< HEAD
    return "Hello from main"
=======
    return "Hello from feature"
>>>>>>> feature
}

解析:

  • HEAD 版本:return "Hello from main"
  • feature 版本:return "Hello from feature"

多处冲突

Bash
// 一个文件可能有多处冲突
func getTitle() string {
<<<<<<< HEAD
    return "Main Title"
=======
    return "Feature Title"
>>>>>>> feature
}

func getContent() string {
<<<<<<< HEAD
    return "Main Content"
=======
    return "Feature Content"
>>>>>>> feature
}

解决冲突的方法

Go
# 选项1:保留 HEAD 版本
<<<<<<< HEAD
    return "Hello from main"
=======
    return "Hello from feature"
>>>>>>> feature

# 解决后
    return "Hello from main"


# 选项2:保留合入版本
    return "Hello from feature"


# 选项3:合并两者
    return "Hello from main and feature"


# 选项4:完全重写
    return "New Content"

解决后的文件

解决冲突后:

  1. 删除所有冲突标记(<<<<<<<, =======, >>>>>>>)
  2. 保留需要的代码内容
  3. 确保代码语法正确
Bash
// 解决后的正确代码
func getMessage() string {
    return "Hello from main"
}

特殊冲突情况

删除冲突标记

Bash
# 一方删除内容,另一方修改
<<<<<<< HEAD
=======    # HEAD 版本为空(删除了)
    new code here
>>>>>>> feature

新增冲突

text
# 双方都在同一位置新增不同内容
<<<<<<< HEAD
    new line A
=======
    new line B
>>>>>>> feature

解决冲突必须删除所有标记,只保留最终需要的代码。

要点总结

  1. <<<<<<< HEAD======= 是当前分支内容
  2. =======>>>>>>> branch 是合入分支内容
  3. 一个文件可能有多处冲突
  4. 解决时删除标记,保留正确代码
  5. 确保解决后代码语法正确

📝 发现内容有误?点击此处直接编辑

← 上一篇 git mergetool 使用合并工具
下一篇 → 合并冲突产生原因
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库