GitHub工程git merge出现冲突处理方式

GitHub工程git merge出现冲突处理方式

  • [1. 源由](#1. 源由)
  • [2. 冲突解决](#2. 冲突解决)
    • [2.1 触发合并冲突](#2.1 触发合并冲突)
    • [2.2 查看冲突状态](#2.2 查看冲突状态)
    • [2.3 打开冲突文件](#2.3 打开冲突文件)
    • [2.4 解决冲突](#2.4 解决冲突)
    • [2.5 标记冲突已解决](#2.5 标记冲突已解决)
    • [2.6 继续合并](#2.6 继续合并)
    • [2.7 检查合并结果](#2.7 检查合并结果)
  • [3. 示例](#3. 示例)

1. 源由

在产品研发中,常见的技术动作就是merge,而这个操作通常有两种场景:

  1. 【产品开发】根据PR内容,分析代码,解决冲突;
  2. 【版本管理】根据冲突类型:a) 简单合并,合入版本;b) 复杂合并,提交backport issue

不管选择何种流程,最终技术层面的操作是一样的。

2. 冲突解决

在使用 Git 进行分支合并时,可能会遇到合并冲突。合并冲突通常发生在两个分支都修改了同一个文件的同一个部分,Git 无法自动决定应该保留哪一部分的修改。这时需要手动解决冲突。以下是处理 Git 合并冲突的步骤:

2.1 触发合并冲突

bash 复制代码
$ git merge <branch-name>

例如:

bash 复制代码
$ git merge feature-branch

2.2 查看冲突状态

合并过程中如果遇到冲突,Git 会提示你冲突文件。可以使用以下命令查看冲突文件:

bash 复制代码
$ git status

2.3 打开冲突文件

在冲突文件中,你会看到类似这样的标记:

plaintext 复制代码
    <<<<<<< HEAD
    当前分支的代码
    =======
    目标分支的代码
    >>>>>>> branch-name

你需要手动编辑这些文件,选择保留的代码,或者合并两者的代码。

2.4 解决冲突

手动编辑文件,删除冲突标记 <<<<<<<, =======, 和 >>>>>>>,并保留正确的代码。

2.5 标记冲突已解决

在解决完所有冲突并保存文件后,需要告诉 Git 冲突已经解决:

bash 复制代码
$ git add <file-name>

例如:

bash 复制代码
$ git add conflicted-file.txt

2.6 继续合并

所有冲突解决并 git add 后,完成合并:

bash 复制代码
$ git commit

有时 Git 会自动生成一个合并消息,你只需保存并退出编辑器。

2.7 检查合并结果

确保一切正常,可以使用:

bash 复制代码
$ git log

确认合并完成。

3. 示例

假设在合并 feature-branchmain 分支时遇到冲突:

bash 复制代码
# 切换到 main 分支
$ git checkout main

# 合并 feature-branch 到 main
$ git merge feature-branch
# 这里可能会看到冲突提示

# 查看冲突状态
$ git status

# 打开冲突文件并手动解决冲突
$ nano conflicted-file.txt

# 标记冲突已解决
$ git add conflicted-file.txt

# 完成合并
$ git commit

通过以上步骤,你可以有效地解决 Git 合并冲突。

相关推荐
打妖妖灵滴哪吒2 小时前
github创建远程仓库+推送代码(图文版)
github
笨鸟先飞,勤能补拙2 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
笨鸟先飞,勤能补拙4 小时前
AI 赋能网络安全领域深度剖析
网络·人工智能·windows·安全·web安全·网络安全·github
gwf2167 小时前
SSD读写速度深度解析:顺序读写vs随机读写、IOPS、延迟,你的硬盘性能到底怎么看?
git·嵌入式硬件·缓存·github·智能硬件
西邮彭于晏8 小时前
图文详解:Git分支创建、合并与冲突解决|新手零门槛完整教程
大数据·git·elasticsearch
nuisthou12 小时前
git常用命令总结
git
西邮彭于晏13 小时前
Git 标签(Tag)与版本发布完整指南|附全场景命令速查表
大数据·git·elasticsearch
笨鸟先飞,勤能补拙13 小时前
下一个十年:网络安全正在被重写
网络·人工智能·安全·web安全·网络安全·github
潘正翔13 小时前
k8s进阶_Harbor镜像仓库
git·云原生·容器·kubernetes·gitee·github
vibecoding7714 小时前
GitHub 2026 年 7 月热榜:累计 Star 总榜与月度飙星榜
人工智能·github·ai编程