如何在日志输出中指示合并基础?

时间:2019-07-17 16:39:41

标签: git

请考虑以下内容:

$ git log --oneline --graph branch master
* 6dfe730 (master) Add f
* f06f976 Add e
| * aee36ba (HEAD -> branch) Add f
| * 17eb406 Add e
|/  
* def35c5 Add d
* 98b40fd Add c
* cc90243 (topic) Add b
* e6bf070 Add a
$ git log --oneline --graph branch
* aee36ba (HEAD -> branch) Add f
* 17eb406 Add e
* def35c5 Add d
* 98b40fd Add c
* cc90243 (topic) Add b
* e6bf070 Add a

在单个分支的日志输出中,分支“ topic”在cc90243处进行了注释。是否有合理的格式字符串可以使用,以便在def35c5(分支和主节点的合并基础)上出现类似的注释?

我想象输出如下:

$ git log --format="$your_answer_here" branch
* aee36ba (HEAD -> branch) Add f
* 17eb406 Add e
* def35c5 (master~2) Add d
* 98b40fd Add c
* cc90243 (topic) Add b
* e6bf070 Add a

1 个答案:

答案 0 :(得分:1)

tl; dr:没有格式字符串,但是您可以通过其他方式获取信息。

git log(就像所有基于git rev-list的内容一样)都是从您提供的提示开始的,并且您尚未告诉它查看master的提交,因此它不会甚至知道它的存在,除非它在某些历史中确实曾要求它行走。

基本上,如果不检查可合并的历史记录以找到它们,就无法标记合并基础。

您可以做的是,以最小的麻烦快速获得分支结构的摘要:

git log --oneline --graph --decorate --all --simplify-by-decoration

将仅向您显示分支提示,合并和拆分以显示结构,它将显示您感兴趣的所有分支提示和合并基础。