git merge 命令
git merge
命令用于将另一个分支的内容合并到当前分支中。它是 Git 中实现多分支开发与集成的核心命令之一。合并操作会保留分支的历史,并将它们汇聚在一起形成一个新的提交。
常见的使用场景包括:将开发分支合并到主分支(如 main
)、合并 bug 修复分支、在功能开发完成后合并回主线等。
如果两个分支对同一文件的同一部分进行了修改,git merge
会产生冲突,需手动解决后再完成合并。
命令语法
git merge <分支名>
常用选项参数
--no-ff
:禁止快进合并,始终创建一个新的合并提交,保留分支历史。--ff
:允许快进合并(默认行为),若当前分支是目标分支的祖先则快进合并。--squash
:将所有提交压缩成一个提交合并进来,不会自动创建合并提交。--abort
:中止正在进行的合并过程,并还原到合并前的状态。--continue
:在解决冲突后继续完成合并操作。--no-commit
:合并后不立即创建提交,让你有机会先修改内容。--edit
:允许在创建合并提交时修改默认提交信息。
使用示例
将分支 dev
合并到当前分支(通常是 main
):
git merge dev
强制保留分支记录,即使可以快进合并也创建一个新的合并提交:
git merge --no-ff dev
将分支的多个提交压缩成一个提交后合并(适合整理历史):
git merge --squash dev
在合并发生冲突后中止操作并恢复到合并前的状态:
git merge --abort
在解决冲突后继续合并流程:
git merge --continue
合并但暂不提交(你可以在手动检查后再运行 git commit
):
git merge --no-commit dev
小贴士
- 使用
git status
可以查看当前是否处于合并状态,以及冲突文件列表。 - 合并前可以使用
git fetch
和git pull
获取远程分支最新状态。 - 合并过程中的冲突文件会被标记为冲突状态,需要手动修改后使用
git add
标记已解决。