git merge模拟dry run功能

问题

如果你使用过svn merge, 那你多半知道它有个–dry-run参数。
其功能是模拟merge过程,看下merge中会发生什么,以便根据情况决定是否要真正执行merge。
不幸的是,git merge并没有提供dry run选项。怎么办呢?

解决

git merge --no-commit --no-off branch-name

合并分支,但不做提交,你可以使用status, diff等命令查看具体有哪些修改。

如果你想撤销这次合并,可以使用:

git merge --abort

一个例子

假设我们有https分支,现在想将master分支近期的改动合并过来。在https分支上执行

git merge --no-commit --no-ff master

git merge模拟dry run功能_第1张图片

查看具体的修改:

git status

git merge模拟dry run功能_第2张图片
撤销合并,执行

git merge --abort

再使用git status查看,可以发现https分支的变更全部消失,一切如初。
这里写图片描述

你可能感兴趣的:(git,合并,dry-run)