合并和删除分支后,在特定功能分支上显示提交

时间:2018-11-13 09:27:56

标签: git

我们在git中使用功能分支样式。这意味着我们打开一个分支,对其进行处理,合并然后删除该分支(我们使用的应用程序(例如Bitbucket)中的默认设置)。我们有一些开发人员和一棵复杂的树。我希望能够显示树上的特定内容。如果我查看tortoise-git的GUI生成的日志,则可以看到以下内容:

enter image description here

指示的红线是一个功能分支,上面有多个开发人员在工作。需要注意的是,它不包括来自其他合并的提交(图像中的红色方块)。

我希望仅能显示在此行上显示的提交(包括合并的提交,但不包括来自合并第一面之前的提交),作为git终端中的列表。我该怎么办?

我本以为像git log --second-parent之类的东西(如果有的话)可以解决问题。显然tortoise-git可以识别这些提交,执行相同操作的命令是什么?


不起作用的东西:

git log Commit-Where-Branch-Started..Commit-Where-Branch-Merged
As above but with --branches

2 个答案:

答案 0 :(得分:2)

git log --first-parent  $merge^2

$merge是拼写合并提交的任何方式,git的msg-search语法很方便,因为合并消息通常是“ Merge branch'red'”,

redmerge=`git rev-parse :/Merge branch 'red'"`
git log --first-parent  $redmerge^2

或者也许

git log --first-parent  $(git rev-parse ":/'red'")^2

或仅从探索性日志结果中提取哈希码。我猜乌龟不会用任何可以复制的数据来备份漂亮的图片,尽管如果它使用SVG进行显示,可以尝试重新点击顶部的红色方块以查看是否可以复制提交ID?

答案 1 :(得分:1)

假设您在本地reflog中仍然有已删除的提交,则可以按照this answer中的说明重新创建分支:

git checkout -b <branch> <sha>

然后与用于分支的分支进行比较:

git log master..