Git 不包括分支的日志
Git log excluding branch
考虑以下提交历史:
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.0
和 feature-foo
的提交)吗?
使用git log R --not P
。这与 @micha-wiedenmann 的评论中的 git log P..R
相同,但我发现前一种语法更能说明问题。是的,它将包括 2, 4, 6, 7, 9
,因为它们按时间顺序发生的时间(就创作时间而言)无关紧要,但它们在 DAG 中的位置并不重要。使用 R --not P
你基本上可以根据集合论在 R 中创建 P 的补集。
考虑以下提交历史:
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.0
和 feature-foo
的提交)吗?
使用git log R --not P
。这与 @micha-wiedenmann 的评论中的 git log P..R
相同,但我发现前一种语法更能说明问题。是的,它将包括 2, 4, 6, 7, 9
,因为它们按时间顺序发生的时间(就创作时间而言)无关紧要,但它们在 DAG 中的位置并不重要。使用 R --not P
你基本上可以根据集合论在 R 中创建 P 的补集。