git merge 是在 Git 中使用比较频繁的一个命令,其主要用于将两个或两个以上的开发历史加入(合并)一起。本文就为大家带来 git merge 命令的常见用法。
git merge三种语法:
git merge [-n] [--stat] [--no-commit] [--squash] [--[no-]edit]
[-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]
[--[no-]allow-unrelated-histories]
[--[no-]rerere-autoupdate] [-m <msg>] [<commit>…?]
git merge --abort
git merge --continue
git merge用途
git-merge 命令是用于从指定的 commit(s) 合并到当前分支的操作。
注:这里的指定 commit(s) 是指从这些历史 commit 节点开始,一直到当前分开的时候。
1、用于 git-pull 中,来整合另一代码仓库中的变化(即:git pull = git fetch + git merge)
2、用于从一个分支到另一个分支的合并
假设下图中的历史节点存在,并且当前所在的分支为“master”:
那么 git merge topic
命令将会把在 master 分支上二者共同的节点(E节点)之后分离的节点(即 topic 分支的A B C节点)重现在 master 分支上,直到topic分支当前的 commit 节点(C节点),并位于master分支的顶部。并且沿着 master 分支和 topic 分支创建一个记录合并结果的新节点,该节点带有用户描述合并变化的信息。
即下图中的H节点,C 节点和 G 节点都是 H 节点的父节点。
git merge <msg> HEAD <commit>...命令
该命令的存在是由于历史原因,在新版本中不应该使用它,应该使用git merge -m <msg> <commit>....进行替代
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 常用命令速查表