给定一个包含数百个分支/数千个提交的大型git存储库,以及不规则的分支合并策略,如何确定两个提交之间的最短路径?换句话说,从较早的提交A到后来的提交B的分支的哪条路径跨越最少的提交次数?
(在我的例子中,我试图追踪“开发”分支的历史,该分支无意中通过快进合并到了功能分支中。“最短路径”策略似乎是一种实用的方法,但我一直在查看git-log和git-rev-list v1.8.3.1的帮助页面,但没有找到任何似乎可以做到这一点的选项。(我是不是漏掉了什么明显的东西?)
发布于 2018-11-30 02:21:17
我不知道你在问什么,但是要找出A是如何到达B的,你可以使用这个:
git log commitA..commitB您可以使用--graph和--simplify-merges标志使其更加清晰。
您还可以美化日志,如下所示:
git log --simplify-merges --graph --pretty="tformat:%C(yellow)%h%Creset\\ %Cgreen(%ar)%Creset\\ %C(blue)<%an>%Creset\\ %C(red)%d%Creset\\ %s"并获得如下输出:

https://stackoverflow.com/questions/53545195
复制相似问题