Skip to content

合并

一句话解释

合并(merge)是把两条分支的改动整合到一起的操作,让分叉的开发线重新汇合。

用大白话说

合并(merge)是把另一条分支的改动整合到当前分支。最常见场景:在 feature 分支开发完一个功能,切回 main,git merge feature 把功能合进主线。

git switch main
git merge feature-login

合并时可能遇到冲突(conflict):两条分支改了同一个文件的同一处,Git 不知道该保留哪个,就停下来让你手动决定。冲突的文件里会有 <<<<<<<=======>>>>>>> 标记,你编辑文件选保留哪部分,然后 git add + git commit 完成合并。

合并的两种方式:

  • merge:保留分支历史,形成合并提交,历史是网状的
  • rebase:把分支提交"搬到"主线末尾,历史是线性的,更干净但会改写历史

新手建议先用 merge,理解 rebase 后再按团队规范选择。

示例

bash
git switch main
git merge feature-login
# 如果有冲突:
# 1. 编辑冲突文件,保留正确内容
# 2. git add 冲突文件
# 3. git commit 完成合并

切到目标分支后 git merge 源分支。有冲突时手动编辑冲突文件,解决后 add + commit 完成合并。

工作原理

  1. 切到要合并到的目标分支(如 main)
  2. git merge 源分支 把源分支的改动整合进来
  3. 若两边改了同一处,产生冲突,Git 暂停让你手动解决
  4. 解决冲突后 git add + git commit 完成合并

常见混淆

  • 容易混淆的对象: rebase

    关键区别: merge 保留分支历史、形成合并提交(历史是网状);rebase 把提交搬到目标末尾、历史线性更干净但改写历史。新手优先用 merge。

相关术语

相关资源

相关课程

学习基础知识

通过结构化课程深入理解这个主题。

查看课程

解读错误信息

用大白话解释常见错误——什么意思、为什么发生、如何修复。

查看错误

← 返回术语表