登录 |  注册
首页 >  编程测试工具 >  Git 专题学习教程笔记 >  Git merge命令用法

Git merge命令用法

git merge是在Git中使用比较频繁的一个命令,其主要用于将两个或两个以上的开发历史加入(合并)一起。本文就为大家带来git merge命令的常见用法。

⒈ git merge三种语法:

git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
    [-s ] [-X ] [-S[]]
    [--[no-]allow-unrelated-histories]
    [--[no-]rerere-autoupdate] [-m ] […?]
git merge --abort
git merge --continue

⒉ git merge用途

git-merge命令是用于从指定的commit(s)合并到当前分支的操作。

(1)用于git-pull中,来整合另一代码仓库中的变化(即:git pull = git fetch + git merge)

(2)用于从一个分支到另一个分支的合并

假设下图中的历史节点存在,并且当前所在的分支为“master”:

git.png

那么git merge topic命令将会把在master分支上二者共同的节点(E节点)之后分离的节点(即topic分支的A B C节点)重现在master分支上,直到topic分支当前的commit节点(C节点),并位于master分支的顶部。并且沿着master分支和topic分支创建一个记录合并结果的新节点,该节点带有用户描述合并变化的信息。

即下图中的H节点,C节点和G节点都是H节点的父节点。

 git.png

⒊ git merge  HEAD ...命令

 该命令的存在是由于历史原因,在新版本中不应该使用它,应该使用git merge -m  ....进行替代

⒋ git merge --abort命令

 该命令仅仅在合并后导致冲突时才使用。git merge --abort将会抛弃合并过程并且尝试重建合并前的状态。但是,当合并开始时如果存在未commit的文件,git merge --abort在某些情况下将无法重现合并前的状态。(特别是这些未commit的文件在合并的过程中将会被修改时)

警告:

运行git-merge时含有大量的未commit文件很容易让你陷入困境,这将使你在冲突中难以回退。因此非常不鼓励在使用git-merge时存在未commit的文件,建议使用git-stash命令将这些未commit文件暂存起来,并在解决冲突以后使用git stash pop把这些未commit文件还原出来。

以上就是Git merge命令的一些常见用法,希望对大家有所帮助。

想要了解更多Git命令,可点击:Git常用命令速查表

上一篇: Git push命令用法
下一篇: Git使用前配置
推荐文章
  • 在IntelliJIDEA中,要根据数据库表直接生成对应的DataObject(DO)类,可以利用其内置的 DatabaseTools 功能,特别是其中的 JPABuddy插件 或者 ReverseEngineering(逆向工程) 功能。这里提供两种方法供您参考:方法一:使用JPABuddy插件J
  • 说到分支管理模型,令人最为熟悉的莫过于TrunkBased和GitFlow。TrunkBased模型是持续集成思想所崇尚的工作方式,它由单个master分支和许多release分支组成,每个release分支在特定版本的提交点上从master分支创建出来,用来进行上线部署和Hotfix。在Trunk
  • 在IntelliJIDEA(简称IDEA)中,如果你想避免导入星号(*)的方式引入包中的所有类,可以在设置中调整IDE的行为,使其遵循更严格的代码风格规范。虽然Java允许使用import*形式的静态导入(例如importstaticjava.util.Arrays.*;),但通常建议尽量明确导入所
  • 随着软件开发项目越来越庞大,代码管理的难度也越来越大,特别是在团队协作中。Git作为目前最流行的代码版本控制工具之一,可以帮助我们高效地管理代码版本,并且很容易集成到团队的工作流中。在Git中,我们经常会遇到需要将新增的文件夹排除在Git的库之外的情况。这些文件夹可能是临时生成的文件夹、缓存文件夹或
  • 1.迁移已有的Gitlab代码仓库存储目录gitlab通过rpm包安装后,默认存储位置在/var/opt/gitlab/git-data/repositories,通常需要更改此路径到单独的一个分区来存储仓库的数据。例如,我这里把数据存放到/data/gitlab目录下,创建/data/gitlab
  • 编辑辑/etc/gitlab/gitlab.rb修改如下:external_url "http://gitlab.example.com"例如本人设置的如下:external_url 'http://gitlab.yukx.com'设置完成之后:重置配置sudo gitlab-ctl reconfi
学习大纲