给定一个包含数百个分支/数千个提交的大型 git 存储库,以及不规则的分支合并策略,如何确定两次提交之间的最短路径?换句话说,从较早的提交 A 到较晚的提交 B 的哪一条分支路径跨越的提交数量最少?
(就我而言,我试图追踪“开发”分支的历史,该分支无意中通过快进合并到功能分支中。“最短路径”策略似乎是一种实用的方法,但我一直在寻找通过 git-log 和 git-rev-list [v1.8.3.1] 的帮助页面,但没有找到任何似乎可以做到这一点的选项。我是否遗漏了一些明显的东西?)
可能不完全相关,但这对我“追踪‘开发’的历史”很有用:
git log 25ab137285..2fbdf0a100 --ancestry-path --first-parent --oneline
25ab137285
和 2fbdf0a100
是在所需分支上的提交(例如 develop
)