如何判断给定 git 分支的最后一次提交合并到另一个分支中以查找对该分支所做的更改?

How to tell the last commit of a given git branch merged into another branch to find changes made on the branch?

假设我有一个从 master 分支创建的 feature_x git 分支。我想查看对 feature_x 所做的更改,换句话说 - 如果 会对 master 进行哪些更改]feature_x现在要合并进去?

这正是 GitHub 拉取请求显示的内容,但我想在不创建拉取请求的情况下查看 Git 扩展中的差异。 Git Extensions (2.49) 的最新版本有一个非常有用的 "compare branches" 功能,它就是这样做的。

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

git diff master...feature_x

这将完全按照您的要求进行,显示 feature_x 中但不在 master 中的更改的差异。请注意,这里有意设置了三个点。使用两个点,您可以比较最新的 master 与最新的 feature_x.

事实证明 Git Extensions Diff 有一个 "Compare to merge base" 复选框,这正是我想要的,但之前并不明显,因为 feature_x 是我的 BASE , 所以检查它没有产生有意义的结果。

如果我目前在 master 分支并且我 select 在 feature_x 上提交branch and select Compare, Compare with current branch 然后我需要在 Diff 对话框中交换分支(所以 master 是 BASE ) 并检查 "Compare to merge base".