首页 > 解决方案 > 合并和删除分支后在特定功能分支上显示提交

问题描述

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

在此处输入图像描述

指示的红线是一个功能分支,有几个开发人员正在开发它。作为重要说明,它不包括来自其他合并的提交(图像中的红色方块)。

我希望能够仅显示出现在这一行的提交(包括合并提交,但不包括合并第一侧之前的提交),作为 git 终端中的列表。我怎样才能做到这一点?

我会认为像git log --second-parent(如果存在的话)这样的东西可以解决问题。明明tortoise-git可以识别这些commit,用什么命令来做同样的事情?


不起作用的事情:

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

标签: git

解决方案


git log --first-parent  $merge^2

作为合并$merge提交的任何拼写方式,git 的 msg-search 语法可以很方便,因为合并消息通常是“合并分支'红色'”,

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

或者可能

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

或者只是从探索性日志结果中 c&p 哈希码。我猜乌龟不会用你可以复制的任何数据来支持它的漂亮图片,虽然如果它使用 SVG 来显示它可以,你有没有尝试在顶部的红色方块上单击以查看它是否会让你复制提交ID?


推荐阅读