git:如何查看在 branch 中完成的更改



考虑以下情况:

多个分支 - 主,开发1。dev-n 和 feature1。在 feature1 分支上发生了一些开发(对该分支的提交),我需要审查它们。

然而。。。

  1. 功能1分支在过去某个时候从主分支中分离出来。
  2. 在合并到主节点之前,master 已合并到 Feature1 分支中
  3. 功能1(+主)被合并回主节点。

所以图表看起来像这样:

M F
|
g  (merge F to master)
|
| 
f |
| 4 (last commit to F)
e |
| 3 (merge master to F - F contains commit b,c)
d/|
| 2
c |
| 1 (first commit to F)
b /
|/
a(base)

如何查看直接向分支 F (1-4) 进行的提交,而不查看对其他分支进行的提交并合并到 F (a-g) 中?

你可以试试这个: git log d..4

这意味着所有提交都是4(a b c d 1 2 3 4),而不是d(a b c d),结果是1 2 3 4

有关Revision Selection的更多信息,请访问修订版选择

以下是使用 reflog 的定制解决方案:

git log --first-parent --no-merges $(git reflog feature1|tail -1|cut -d' ' -f1)..feature1

reflog 提供了对该分支引用的所有更新,而 tail 只得到第一个(即分叉点),然后我们只是削减分叉点的 SHA。

最新更新