【发布时间】:2015-11-03 21:46:27
【问题描述】:
假设我有一个“master”分支,一个为我的团队审查和批准更改的分支(称为“stage”),以及一堆基于 stage 分支的功能分支。 (这个想法是将更改分组为从阶段到主的公共拉取请求。)
如何根据阶段分支的“根”显示所有更改的日志?我希望能够看到该团队/主题正在进行的所有功能。用普通的 Git 术语来说,我怎样才能获得可以到达给定(根)提交的所有提交的日志?对于我的生活,我找不到办法做到这一点。我可以对具有共同祖先的两个分支执行此操作,但不适用于从共同祖先派生的 N 个分支。
【问题讨论】:
-
听起来你想要
git merge-base --octopus(找到一个 N 分支合并基础,类似于通常的两个分支合并基础),然后是git log <list of heads> ^<base>。 -
但这是相当递归的。要获取包含给定提交的所有更改的列表,我需要提供包含该提交的所有提示的列表。如果我能做到这一点,我就快完成了。但我们可以从那里开始。所以我的推论问题是,给定一个提交,我怎样才能找到可以到达该提交的所有提示?
-
git branch --contains <id>将打印所有本地分支标签的列表,这些标签将该提交作为其分支提示的祖先。如果需要(可能不需要),添加-r以包括远程跟踪分支。 (我从你的问题中得到的印象是你已经有了分支提示标签的列表。)