Git——合并(merge)

简介: 本文主要介绍 git merge的使用方式

介绍

git merge用于将其他的分支与当前的分支进行合并,在开发过程中通常使用此命令来合入最新修改的代码,或者是使用含有git merge功能的git pull来获取最新版本的代码。

基本用法

当前有一个test-feature的feature分支,并从test-feature分支中拉取test-feature-dev开发分支,在test-feature-dev中进行开发后将开发后的代码合并到test-feature

# 将test-feature-dev的代码合并到test-feature中git switch test-feature # 切换到test-feature分支git merge test-feature-dev # 合并开发分支

image.png

image.png

开发过程中发现test-feature中存在问题,拉feature-fix分支进行修复

image.png

修复问题后合并到test-feature中:

git switch test-feature
git merge test-feature-fix # 合并修复分支,修复问题

image.png

image.png

此时再将test-feature-dev合并到test-feature,会出现Merge branch的提交记录

image.png

合并冲突

冲突处理

在上面的案例中,将test-feature-fix合并到test-feature之后,此时test-featuretest-feature-dev由于对文件的同一行都进行了修改,此时将test-feature-dev合并,就会出现冲突,出现冲突后我们需要先对冲突部分的代码进行处理后才能进行合并

image.png

image.png

处理冲突后,使用git merge --contiue完成合并并提交

git merge --contiue# 继续合并

image.png

冲突在未处理好时不可以继续合并,此时继续合并会报错:Exiting because of an unresolved conflict.

image.png

合并撤回

如果在冲突之后希望撤回此次合并,则可以使用git merge --abort来撤回合并,合并撤回之后,分支会恢复到合并前的状态

# 撤回合并git merge --abort

image.png

总结

  • git merge <branch-name>可以指定一个分支合并到当前的分支,指定的分支可以是本地的其他分支,也可以是已经fetch至本地仓库的远程分支
  • 当被合并的分支中不包含当前分支的最近一次commit时,两个分支合并后,会在当前分支产生一个新的commit作为合并的提交记录,在Git graph中会表现为两个提交点汇聚成同一个提交点。

image.png

  • 两个分支如果对同一个文件的相同行都进行了修改时,那么在合并时会出现合并冲突,此时必须要先解决冲突之后才能通过git merge --continue继续进行合并,或者也可以使用git merge --abort撤回之前的合并。
目录
相关文章
|
7月前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
167 1
|
6月前
|
开发工具 git 开发者
【git merge/rebase】详解合并代码、解决冲突
【git merge/rebase】详解合并代码、解决冲突
688 0
|
4月前
|
开发工具 git 开发者
|
6月前
|
安全 开发工具 git
蓝易云 - git rebase和merge区别
在选择使用Merge还是Rebase时,需要根据具体的工作流程和团队的规定来决定。一般来说,如果你想保持完整的历史记录并且避免可能的冲突,你应该使用Merge。如果你想要一个干净的、线性的历史记录,你可以使用Rebase。
58 4
|
5月前
|
开发工具 git 开发者
git IDEA的分支合并时的冲突问题总结,merge和rebase的区别
冲突的处理需要开发者之间的充分沟通以及对项目历史的细致理解。选择Merge或Rebase取决于具体的工作流程和团队偏好,但最重要的是保持代码库的整洁与一致性。使用IDEA等工具可以提高处理合并冲突的效率,但手动解析冲突和理解操作背后的逻辑仍然是不可或缺的。最终目标是通过有效的版本控制实践,促进项目的顺利进行和团队协作的高效。
373 0
|
7月前
|
开发工具 git
避免git产生Merge branch 'foo' into 'bar'提交
避免git产生Merge branch 'foo' into 'bar'提交
109 3
|
7月前
|
开发工具 git
git使用笔记-修改url并与远端库合并
git使用笔记-修改url并与远端库合并
46 1
|
7月前
|
开发工具 git
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
95 0
|
7月前
|
存储 开发工具 git
Git 教程:解密 .gitignore 文件、合并分支、解决冲突、及 Git 帮助
如果你忘记了命令或命令的选项,你可以使用 Git 帮助。 在命令行中,有几种不同的使用帮助命令的方式: git command -help - 查看特定命令的所有可用选项 git help --all - 查看所有可能的命令 让我们看看不同的命令。
249 3