当前位置:首页 > 开发工具 > git命令之git merge 合并分支

git命令之git merge 合并分支

2022年11月08日 14:18:03开发工具17

git merge 合并分支

git merge 用来做分支合并,将其他分支中的内容合并到当前分支中。比如分支结构如下:

                        master
                         /
C0 ---- C1 ---- C2 ---- C4
                         \
                         C3 ---- C5
                                  \
                                issueFix

当前分支是master
$ git checkout master

把issueFix中的内容Merge进来:
$ git merge issueFix

如果没有冲突的话,merge完成。有冲突的话,git会提示那个文件中有冲突,比如有如下冲突:

<<<<<<< HEAD:test.c

printf (“test1″);

=======

printf (“test2″);

>>>>>>> issueFix:test.c

可以看到 ======= 隔开的上半部分,是 HEAD(即 master 分支,在运行 merge 命令时检出的分支)中的内容,下半部分是在 issueFix 分支中的内容。解决冲突的办法无非是二者选其一或者由你亲自整合到一起。比如你可以通过把这段内容替换为下面这样来解决:

printf (“test2″);

这个解决方案各采纳了两个分支中的一部分内容,而且删除了 <<<<<<<,=======,和>>>>>>> 这些行。在解决了所有文件里的所有冲突后,运行 git add 将把它们标记为已解决(resolved)。因为一旦暂存,就表示冲突已经解决。如果你想用一个有图形界面的工具来解决这些问题,不妨运行 git mergetool,它会调用一个可视化的合并工具并引导你解决所有冲突:

$ git mergetool
merge tool candidates: kdiff3 tkdiff xxdiff meld gvimdiff opendiff emerge vimdiff
Merging the files: index.html

Normal merge conflict for ‘test.c’:
{local}: modified
{remote}: modified
Hit return to start merge resolution tool (kdiff3):

合并后的分支图如下:

                               master
                                 /
C0 ---- C1 ---- C2 ---- C4 ---- C6
                        \       /
                        C3 ----C5
                                \
                              issueFix

注意,这次合并的实现,由于当前 master 分支所指向的 commit (C4)并非想要并入分支(issueFix)的直接祖先,Git 不得不进行一些处理。就此例而言,Git 会用两个分支的末端(C4 和 C5)和它们的共同祖先(C2)进行一次简单的三方合并。对三方合并的结果作一新的快照,并自动创建一个指向它的 commit(C6)

退出合并工具以后,Git 会询问你合并是否成功。如果回答是,它会为你把相关文件暂存起来,以表明状态为已解决。然后可以用 git commit 来完成这次合并提交。

作者:Jacob-wj
来源链接:https://blog.csdn.net/wangjia55/article/details/8791195/

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/tool/68504.html

标签: Git合并
分享给朋友:

“git命令之git merge 合并分支” 的相关文章

关于Git的一些经验总结

目录 1.初始化仓库 2.添加文件到仓库 3.关于版本回退 4.关于修改 5.删除...

GitHub的注册与使用

GitHub的注册与使用

目录 一、gihub账号注册与仓库创建 1.注册 2. 初始设置 3.验证账号 4.发现邮箱地址未验证,登录你注册时的邮箱,验证 5.新...

Git config 使用说明

Git config 使用说明

Git config 使用说明 卖一下广告,欢迎大家关注我的微信公众号,扫一扫下方二维码或搜索微信号 stormjun,即可关注。 目前专注于 Android 开发,主要分享 Android开发相关知识和一些相关的优秀文章,包括个人总结,职场经验等...

如何在Dart中合并列表

在 Dart 编程中,List 数据类型类似于其他编程语言中的数组。列表用于表示对象的集合。它是一组有序的对象。Dart 中的核心库负责 List 类的存在、创建和操作。有 5 种方法可以组合两个或多个列表: 使用 addAll() 方法将...

SourceTree Gitflow 使用一 (Git项目转Gitflow)

SourceTree Gitflow 使用一 (Git项目转Gitflow)

1.克隆项目到本地 2.SourceTree 打开克隆的项目 3 点击master 点击右上角git工作流 作者:1024+ 来源链接:https://blog.csdn.net/li3715...

linux如何查看git安装路径,Git  - 如何验证Ubuntu上是否安装Git以及在何处安装Git - Ubuntu问答...

linux如何查看git安装路径,Git - 如何验证Ubuntu上是否安装Git以及在何处安装Git - Ubuntu问答...

问题描述 我是Ubuntu和Git的新手。我如何验证我在我的机器上安装了git?当我尝试apt-get时,我得到了: root@ubuntu:/home/nebojsa# apt-get install git Reading package l...

git工具的安装与使用

git工具的安装与使用

一、环境 windows操作系统: win7 64位 git客户端工具: TortoiseGit   二、 git的安装 1、 打开git的官网: https://git-scm.com/ 2、 点击Downloa...

Git查看及修改用户名和邮箱

1、查看命令 git config --local --list  2、查看当前用户名git config user.name  3、查看邮箱git config user.email...

Jenkins+Maven+Github+Springboot实现可持续自动部署(非常详细)

Jenkins+Maven+Github+Springboot实现可持续自动部署(非常详细)

 目前公司开发的项目已经部署到服务器上,部署项目的测试环境和生产环境,加上每个项目n个服务,于是我就  , 骚就是骚,但是就是太累了,于是花点时间研究了一下Jenkins。 Jenkins的作用和它的logo表现出来的一样,就是为了做工作的时候,能够...

git查看所有远程分支

git查看所有远程分支

在GitHub上clone下来一个项目,用vscode打开,使用VSCO的的终端去查看该项目的远程分支 git branch:查看本地所有分支 git branch -a:查看本地和远程仓库的所有分支 git branch -r:查看所有远程分...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。