如何在分支之间进行差异以获得合并差异的样子
考虑此图
* master
|\
| * b1
|\
| * b2
如果我在b2
上,b1
上的人打败我并合并到master
,
如果我这样做
项目> b2 $ git diff origin / master
diff将包含b1,它不包含在PR中,如何在命令行中重现它。
答案 0 :(得分:0)
您可以使用origin/master
更新git fetch origin
。这将更新您的远程分支,而无需更改任何其他内容。
之后,您可以使用b2
将origin/master
作品改为git rebase origin/master
。现在b2
将基于最新的工作,包括b1
。然后git diff origin/master
将反映b1
的添加。
然后,您可以使用git push --force
更新公关。
答案 1 :(得分:0)
我相信git merge-tree
会做到的。它不执行合并,而是输出表示合并的diff。
它需要三个参数:git merge-tree <base-tree> <branch1> <branch2>
我发现将其输出输送到colordiff
然后是寻呼机时,更容易阅读。 (我将less
与-r
一起使用来处理颜色。)
git merge-tree $(git merge-base HEAD b2) HEAD b2 | colordiff | less -r