趋近智
将独立开发的代码线,通常位于不同分支上,合并回主分支(例如 main 或 master),是协作项目中一个常见的目标。这种组合不同分支的历史和更改的过程称为合并。Git 提供了 git merge 命令,专门用于此目的。
合并会将源分支(例如您的功能分支)的更改与目标分支(例如 main 分支)的历史结合起来。Git 在自动组合这些更改方面表现出色。
git merge 命令要执行合并,您首先需要切换到您想要将其他分支合并进来的分支。这通常是您的主要开发线,例如 main 分支。一旦您位于目标分支上,就可以使用 git merge 命令,并指定您想要从中合并出来的分支的名称。
例如,如果您已经完成了 new-feature 分支上的工作,并希望将这些更改整合到您的 main 分支中,您可以运行以下命令:
切换到目标分支(main):
git switch main
或者,使用旧命令:
git checkout main
将源分支(new-feature)合并到当前分支(main):
git merge new-feature
当您执行 git merge 时,Git 在后台执行几个步骤:
如果更改发生在文件的不同部分或完全不同的文件中,Git 通常可以自动组合它们而没有任何问题。
通常,当自两个分支分歧以来,两个分支都发生了更改时,Git 会创建一个新的特殊提交,称为合并提交。此提交充当项目历史中的一个统一衔接点。它的标志性特征是它有多个父提交:一个指向您所在分支(例如 main)的最新提交,另一个指向您合并进来的分支(例如 new-feature)的最新提交。
此合并提交本身不引入新的文件更改(除非需要解决冲突),而是作为一个记录,表明两个分支的历史在此处合并。
合并提交 (M) 组合了来自两个父提交(
main分支上的 B,new-feature分支上的 D)的工作,整合了分叉的历史。main标签现在指向 M。
在 main 分支上运行 git merge new-feature 后,Git 可能会输出消息,表示哪些文件已更改并确认合并提交的创建(如果有必要)。您的 main 分支现在包含了 new-feature 分支上完成的所有工作。
合并是 Git 中整合工作的一项基本操作。虽然它通常运行顺畅,但有时 Git 会遇到合并分支上的更改相互冲突的情况。我们将在后续章节中讨论 Git 如何处理更简单的合并场景(快进合并)以及如何解决冲突。
这部分内容有帮助吗?
merge 命令的官方手册页,描述其用法、选项和行为。git merge 的工作原理。© 2026 ApX Machine LearningAI伦理与透明度•