假设我从主分支创建了 feature_x git分支。我想查看对 feature_x 所做的更改,换句话说,如果要将 feature_x 合并到其中,将对主进行哪些更改现在?
这正是GitHub拉动请求显示的内容,但我希望在不创建拉取请求的情况下看到Git Extensions的区别。最新版本的Git Extensions(2.49)有一个非常有用的“比较分支”功能,它就是这样做的。
唯一的问题是,如果我与 master 上的最新提交进行比较,则包括对 master 所做的其他更改,因为它上次合并到 feature_x 。因此,我想使用合并到 feature_x 的最后一次提交作为比较的基础,而不是 master 上的最新提交。我怎样才能轻松可靠地找到它(最好是在Git Extensions中,但git命令会这样做)?
答案 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”。