如何告诉给定git分支的最后一次提交合并到另一个分支以查找在分支上进行的更改?

时间:2016-12-16 11:59:26

标签: git merge git-extensions

假设我从分支创建了 feature_x git分支。我想查看对 feature_x 所做的更改,换句话说,如果要将 feature_x 合并到其中,将对进行哪些更改现在?

这正是GitHub拉动请求显示的内容,但我希望在不创建拉取请求的情况下看到Git Extensions的区别。最新版本的Git Extensions(2.49)有一个非常有用的“比较分支”功能,它就是这样做的。

唯一的问题是,如果我与 master 上的最新提交进行比较,则包括对 master 所做的其他更改,因为它上次合并到 feature_x 。因此,我想使用合并到 feature_x 的最后一次提交作为比较的基础,而不是 master 上的最新提交。我怎样才能轻松可靠地找到它(最好是在Git Extensions中,但git命令会这样做)?

2 个答案:

答案 0 :(得分:2)

git diff master...feature_x

这将完全符合您的要求,显示feature_x但不在master中的更改差异。请注意,故意有三个点。使用两个点,您可以比较最新的master与最新的feature_x

答案 1 :(得分:0)

事实证明,Git Extensions Diff有一个“比较合并基础”复选框,它完全符合我的要求,但之前并不明显,因为feature_x是我的BASE,所以检查它不会产生有意义的结果。

如果我目前在分支上,我在 feature_x 分支上选择提交并选择比较,与当前分支比较然后我需要在Diff对话框中交换分支(因此 master 是BASE)并选中“Compare to merge base”。