Git日志不包括分支

时间:2016-02-29 16:48:57

标签: git git-branch git-log

考虑以下提交历史记录:

1---R---3---5---P->                  # patch-v1.1
     \       \
      2---4---+---8---+---10---R->   # release-v2.0
           \         /
            6---7---9                # feature-foo

--> time

# 1 - 10 are commits
# P is a patch release commit
# R are major release commits
# + marks a merge commit

我想为release-v2.0生成更改日志,但由于P (patch-v1.1)已经发布,因此它的更改不应该是v2.0更改日志的一部分。我是否可以将git log命令配置为仅列出提交2, 4, 6 .. 11(即来自release-v2.0feature-foo的提交)?

1 个答案:

答案 0 :(得分:10)

使用git log R --not P。这与@ micha-wiedenmann的评论中的git log P..R相同,但我发现前一种语法更多。是的,它将包括2, 4, 6, 7, 9,因为它们按时间顺序排列(就创作的时间而言)并不重要,但它们在DAG中的位置。使用R --not P,您基本上可以根据集合理论创建R中P的补集。